{
  "type": "File",
  "start": 0,
  "end": 3507,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 165,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3507,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 165,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 41,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 41
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 17,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 17
                },
                "identifierName": "tokenRegex"
              },
              "name": "tokenRegex"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 23,
          "end": 40,
          "loc": {
            "start": {
              "line": 1,
              "column": 23
            },
            "end": {
              "line": 1,
              "column": 40
            }
          },
          "extra": {
            "rawValue": "./tokenRegex.js",
            "raw": "\"./tokenRegex.js\""
          },
          "value": "./tokenRegex.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 42,
        "end": 62,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 20
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 49,
            "end": 51,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 9
              }
            },
            "local": {
              "type": "Identifier",
              "start": 49,
              "end": 51,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 9
                },
                "identifierName": "fs"
              },
              "name": "fs"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 57,
          "end": 61,
          "loc": {
            "start": {
              "line": 2,
              "column": 15
            },
            "end": {
              "line": 2,
              "column": 19
            }
          },
          "extra": {
            "rawValue": "fs",
            "raw": "\"fs\""
          },
          "value": "fs"
        }
      },
      {
        "type": "Identifier",
        "start": 64,
        "end": 3261,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 149,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 70,
          "end": 75,
          "loc": {
            "start": {
              "line": 4,
              "column": 6
            },
            "end": {
              "line": 4,
              "column": 11
            },
            "identifierName": "Lexer"
          },
          "name": "Lexer"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 76,
          "end": 3261,
          "loc": {
            "start": {
              "line": 4,
              "column": 12
            },
            "end": {
              "line": 149,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 80,
              "end": 142,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 2
                },
                "end": {
                  "line": 8,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 80,
                "end": 91,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 2
                  },
                  "end": {
                    "line": 5,
                    "column": 13
                  },
                  "identifierName": "constructor"
                },
                "name": "constructor"
              },
              "kind": "constructor",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 94,
                "end": 142,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 16
                  },
                  "end": {
                    "line": 8,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 100,
                    "end": 119,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 4
                      },
                      "end": {
                        "line": 6,
                        "column": 23
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 100,
                      "end": 118,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 4
                        },
                        "end": {
                          "line": 6,
                          "column": 22
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 100,
                        "end": 114,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 4
                          },
                          "end": {
                            "line": 6,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 100,
                          "end": 104,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 4
                            },
                            "end": {
                              "line": 6,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 105,
                          "end": 114,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 9
                            },
                            "end": {
                              "line": 6,
                              "column": 18
                            },
                            "identifierName": "lastIndex"
                          },
                          "name": "lastIndex"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 117,
                        "end": 118,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 21
                          },
                          "end": {
                            "line": 6,
                            "column": 22
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 124,
                    "end": 138,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 4
                      },
                      "end": {
                        "line": 7,
                        "column": 18
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 124,
                      "end": 137,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 4
                        },
                        "end": {
                          "line": 7,
                          "column": 17
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 124,
                        "end": 133,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 4
                          },
                          "end": {
                            "line": 7,
                            "column": 13
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 124,
                          "end": 128,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 4
                            },
                            "end": {
                              "line": 7,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 129,
                          "end": 133,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 9
                            },
                            "end": {
                              "line": 7,
                              "column": 13
                            },
                            "identifierName": "line"
                          },
                          "name": "line"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 136,
                        "end": 137,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 16
                          },
                          "end": {
                            "line": 7,
                            "column": 17
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 146,
              "end": 261,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 2
                },
                "end": {
                  "line": 17,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 146,
                "end": 156,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 2
                  },
                  "end": {
                    "line": 10,
                    "column": 12
                  },
                  "identifierName": "setProgram"
                },
                "name": "setProgram"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 157,
                  "end": 164,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 13
                    },
                    "end": {
                      "line": 10,
                      "column": 20
                    },
                    "identifierName": "program"
                  },
                  "name": "program"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 166,
                "end": 261,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 22
                  },
                  "end": {
                    "line": 17,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 172,
                    "end": 195,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 4
                      },
                      "end": {
                        "line": 11,
                        "column": 27
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 172,
                      "end": 194,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 11,
                          "column": 26
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 172,
                        "end": 184,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 172,
                          "end": 176,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 177,
                          "end": 184,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 9
                            },
                            "end": {
                              "line": 11,
                              "column": 16
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 187,
                        "end": 194,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 19
                          },
                          "end": {
                            "line": 11,
                            "column": 26
                          },
                          "identifierName": "program"
                        },
                        "name": "program"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 201,
                    "end": 220,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 4
                      },
                      "end": {
                        "line": 13,
                        "column": 23
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 201,
                      "end": 219,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 4
                        },
                        "end": {
                          "line": 13,
                          "column": 22
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 201,
                        "end": 215,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 4
                          },
                          "end": {
                            "line": 13,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 201,
                          "end": 205,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 4
                            },
                            "end": {
                              "line": 13,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 206,
                          "end": 215,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 9
                            },
                            "end": {
                              "line": 13,
                              "column": 18
                            },
                            "identifierName": "lastIndex"
                          },
                          "name": "lastIndex"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 218,
                        "end": 219,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 21
                          },
                          "end": {
                            "line": 13,
                            "column": 22
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 225,
                    "end": 239,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 4
                      },
                      "end": {
                        "line": 14,
                        "column": 18
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 225,
                      "end": 238,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 4
                        },
                        "end": {
                          "line": 14,
                          "column": 17
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 225,
                        "end": 234,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 14,
                            "column": 13
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 225,
                          "end": 229,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 230,
                          "end": 234,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 9
                            },
                            "end": {
                              "line": 14,
                              "column": 13
                            },
                            "identifierName": "line"
                          },
                          "name": "line"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 237,
                        "end": 238,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 16
                          },
                          "end": {
                            "line": 14,
                            "column": 17
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 245,
                    "end": 257,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 4
                      },
                      "end": {
                        "line": 16,
                        "column": 16
                      }
                    },
                    "argument": {
                      "type": "ThisExpression",
                      "start": 252,
                      "end": 256,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 11
                        },
                        "end": {
                          "line": 16,
                          "column": 15
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 265,
              "end": 349,
              "loc": {
                "start": {
                  "line": 19,
                  "column": 2
                },
                "end": {
                  "line": 23,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 265,
                "end": 273,
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 2
                  },
                  "end": {
                    "line": 19,
                    "column": 10
                  },
                  "identifierName": "tokenize"
                },
                "name": "tokenize"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 274,
                  "end": 281,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 11
                    },
                    "end": {
                      "line": 19,
                      "column": 18
                    },
                    "identifierName": "program"
                  },
                  "name": "program"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 283,
                "end": 349,
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 20
                  },
                  "end": {
                    "line": 23,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 289,
                    "end": 314,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 4
                      },
                      "end": {
                        "line": 20,
                        "column": 29
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 289,
                      "end": 313,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 28
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 289,
                        "end": 304,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 289,
                          "end": 293,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 294,
                          "end": 304,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 9
                            },
                            "end": {
                              "line": 20,
                              "column": 19
                            },
                            "identifierName": "setProgram"
                          },
                          "name": "setProgram"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 305,
                          "end": 312,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 20
                            },
                            "end": {
                              "line": 20,
                              "column": 27
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 320,
                    "end": 345,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 4
                      },
                      "end": {
                        "line": 22,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 327,
                      "end": 344,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 11
                        },
                        "end": {
                          "line": 22,
                          "column": 28
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 327,
                        "end": 342,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 11
                          },
                          "end": {
                            "line": 22,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 327,
                          "end": 331,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 11
                            },
                            "end": {
                              "line": 22,
                              "column": 15
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 332,
                          "end": 342,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 16
                            },
                            "end": {
                              "line": 22,
                              "column": 26
                            },
                            "identifierName": "_getTokens"
                          },
                          "name": "_getTokens"
                        },
                        "computed": false
                      },
                      "arguments": []
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 353,
              "end": 425,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 2
                },
                "end": {
                  "line": 27,
                  "column": 3
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 360,
                "end": 368,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 9
                  },
                  "end": {
                    "line": 25,
                    "column": 17
                  },
                  "identifierName": "tokenize"
                },
                "name": "tokenize"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 369,
                  "end": 376,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 18
                    },
                    "end": {
                      "line": 25,
                      "column": 25
                    },
                    "identifierName": "program"
                  },
                  "name": "program"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 378,
                "end": 425,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 27
                  },
                  "end": {
                    "line": 27,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 384,
                    "end": 421,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 4
                      },
                      "end": {
                        "line": 26,
                        "column": 41
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 391,
                      "end": 420,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 11
                        },
                        "end": {
                          "line": 26,
                          "column": 40
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 391,
                        "end": 411,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 11
                          },
                          "end": {
                            "line": 26,
                            "column": 31
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 391,
                          "end": 402,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 11
                            },
                            "end": {
                              "line": 26,
                              "column": 22
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 395,
                            "end": 400,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 15
                              },
                              "end": {
                                "line": 26,
                                "column": 20
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 403,
                          "end": 411,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 23
                            },
                            "end": {
                              "line": 26,
                              "column": 31
                            },
                            "identifierName": "tokenize"
                          },
                          "name": "tokenize"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 412,
                          "end": 419,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 32
                            },
                            "end": {
                              "line": 26,
                              "column": 39
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 429,
              "end": 545,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 2
                },
                "end": {
                  "line": 33,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 429,
                "end": 445,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 2
                  },
                  "end": {
                    "line": 29,
                    "column": 18
                  },
                  "identifierName": "tokenizeFromFile"
                },
                "name": "tokenizeFromFile"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 446,
                  "end": 450,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 19
                    },
                    "end": {
                      "line": 29,
                      "column": 23
                    },
                    "identifierName": "file"
                  },
                  "name": "file"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 452,
                "end": 545,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 25
                  },
                  "end": {
                    "line": 33,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 458,
                    "end": 505,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 51
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 464,
                        "end": 504,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 10
                          },
                          "end": {
                            "line": 30,
                            "column": 50
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 464,
                          "end": 471,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 10
                            },
                            "end": {
                              "line": 30,
                              "column": 17
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 474,
                          "end": 504,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 20
                            },
                            "end": {
                              "line": 30,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 474,
                            "end": 489,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 20
                              },
                              "end": {
                                "line": 30,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 474,
                              "end": 476,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 20
                                },
                                "end": {
                                  "line": 30,
                                  "column": 22
                                },
                                "identifierName": "fs"
                              },
                              "name": "fs"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 477,
                              "end": 489,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 23
                                },
                                "end": {
                                  "line": 30,
                                  "column": 35
                                },
                                "identifierName": "readFileSync"
                              },
                              "name": "readFileSync"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 490,
                              "end": 494,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 36
                                },
                                "end": {
                                  "line": 30,
                                  "column": 40
                                },
                                "identifierName": "file"
                              },
                              "name": "file"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 496,
                              "end": 503,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 42
                                },
                                "end": {
                                  "line": 30,
                                  "column": 49
                                }
                              },
                              "extra": {
                                "rawValue": "utf-8",
                                "raw": "\"utf-8\""
                              },
                              "value": "utf-8"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 511,
                    "end": 541,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 4
                      },
                      "end": {
                        "line": 32,
                        "column": 34
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 518,
                      "end": 540,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 11
                        },
                        "end": {
                          "line": 32,
                          "column": 33
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 518,
                        "end": 531,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 11
                          },
                          "end": {
                            "line": 32,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 518,
                          "end": 522,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 11
                            },
                            "end": {
                              "line": 32,
                              "column": 15
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 523,
                          "end": 531,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 16
                            },
                            "end": {
                              "line": 32,
                              "column": 24
                            },
                            "identifierName": "tokenize"
                          },
                          "name": "tokenize"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 532,
                          "end": 539,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 25
                            },
                            "end": {
                              "line": 32,
                              "column": 32
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 549,
              "end": 631,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 2
                },
                "end": {
                  "line": 37,
                  "column": 3
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 556,
                "end": 572,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 9
                  },
                  "end": {
                    "line": 35,
                    "column": 25
                  },
                  "identifierName": "tokenizeFromFile"
                },
                "name": "tokenizeFromFile"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 573,
                  "end": 577,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 26
                    },
                    "end": {
                      "line": 35,
                      "column": 30
                    },
                    "identifierName": "file"
                  },
                  "name": "file"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 579,
                "end": 631,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 32
                  },
                  "end": {
                    "line": 37,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 585,
                    "end": 627,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 4
                      },
                      "end": {
                        "line": 36,
                        "column": 46
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 592,
                      "end": 626,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 11
                        },
                        "end": {
                          "line": 36,
                          "column": 45
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 592,
                        "end": 620,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 11
                          },
                          "end": {
                            "line": 36,
                            "column": 39
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 592,
                          "end": 603,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 11
                            },
                            "end": {
                              "line": 36,
                              "column": 22
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 596,
                            "end": 601,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 15
                              },
                              "end": {
                                "line": 36,
                                "column": 20
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 604,
                          "end": 620,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 23
                            },
                            "end": {
                              "line": 36,
                              "column": 39
                            },
                            "identifierName": "tokenizeFromFile"
                          },
                          "name": "tokenizeFromFile"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 621,
                          "end": 625,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 40
                            },
                            "end": {
                              "line": 36,
                              "column": 44
                            },
                            "identifierName": "file"
                          },
                          "name": "file"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 635,
              "end": 692,
              "loc": {
                "start": {
                  "line": 39,
                  "column": 2
                },
                "end": {
                  "line": 41,
                  "column": 3
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 642,
                "end": 651,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 9
                  },
                  "end": {
                    "line": 39,
                    "column": 18
                  },
                  "identifierName": "setTokens"
                },
                "name": "setTokens"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 652,
                  "end": 658,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 19
                    },
                    "end": {
                      "line": 39,
                      "column": 25
                    },
                    "identifierName": "tokens"
                  },
                  "name": "tokens"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 660,
                "end": 692,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 27
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 666,
                    "end": 688,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 26
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 666,
                      "end": 687,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 25
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 666,
                        "end": 678,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 666,
                          "end": 671,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 9
                            },
                            "identifierName": "Lexer"
                          },
                          "name": "Lexer"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 672,
                          "end": 678,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 10
                            },
                            "end": {
                              "line": 40,
                              "column": 16
                            },
                            "identifierName": "TOKENS"
                          },
                          "name": "TOKENS"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 681,
                        "end": 687,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 19
                          },
                          "end": {
                            "line": 40,
                            "column": 25
                          },
                          "identifierName": "tokens"
                        },
                        "name": "tokens"
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 696,
              "end": 986,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 2
                },
                "end": {
                  "line": 57,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 696,
                "end": 709,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 2
                  },
                  "end": {
                    "line": 43,
                    "column": 15
                  },
                  "identifierName": "getParBalance"
                },
                "name": "getParBalance"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 710,
                  "end": 717,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 16
                    },
                    "end": {
                      "line": 43,
                      "column": 23
                    },
                    "identifierName": "program"
                  },
                  "name": "program"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 719,
                "end": 986,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 25
                  },
                  "end": {
                    "line": 57,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 725,
                    "end": 750,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 4
                      },
                      "end": {
                        "line": 44,
                        "column": 29
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 725,
                      "end": 749,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 4
                        },
                        "end": {
                          "line": 44,
                          "column": 28
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 725,
                        "end": 740,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 4
                          },
                          "end": {
                            "line": 44,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 725,
                          "end": 729,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 4
                            },
                            "end": {
                              "line": 44,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 730,
                          "end": 740,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 9
                            },
                            "end": {
                              "line": 44,
                              "column": 19
                            },
                            "identifierName": "setProgram"
                          },
                          "name": "setProgram"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 741,
                          "end": 748,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 20
                            },
                            "end": {
                              "line": 44,
                              "column": 27
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        }
                      ]
                    }
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 756,
                    "end": 770,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 18
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 760,
                        "end": 769,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 17
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 760,
                          "end": 765,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 13
                            },
                            "identifierName": "stack"
                          },
                          "name": "stack"
                        },
                        "init": {
                          "type": "NumericLiteral",
                          "start": 768,
                          "end": 769,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 16
                            },
                            "end": {
                              "line": 46,
                              "column": 17
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 775,
                    "end": 808,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 4
                      },
                      "end": {
                        "line": 47,
                        "column": 37
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 781,
                        "end": 807,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 10
                          },
                          "end": {
                            "line": 47,
                            "column": 36
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 781,
                          "end": 787,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 10
                            },
                            "end": {
                              "line": 47,
                              "column": 16
                            },
                            "identifierName": "tokens"
                          },
                          "name": "tokens"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 790,
                          "end": 807,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 19
                            },
                            "end": {
                              "line": 47,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 790,
                            "end": 805,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 19
                              },
                              "end": {
                                "line": 47,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 790,
                              "end": 794,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 19
                                },
                                "end": {
                                  "line": 47,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 795,
                              "end": 805,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 24
                                },
                                "end": {
                                  "line": 47,
                                  "column": 34
                                },
                                "identifierName": "_getTokens"
                              },
                              "name": "_getTokens"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "ForOfStatement",
                    "start": 813,
                    "end": 963,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 4
                      },
                      "end": {
                        "line": 54,
                        "column": 5
                      }
                    },
                    "left": {
                      "type": "VariableDeclaration",
                      "start": 818,
                      "end": 829,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 9
                        },
                        "end": {
                          "line": 48,
                          "column": 20
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 824,
                          "end": 829,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 15
                            },
                            "end": {
                              "line": 48,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 824,
                            "end": 829,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 15
                              },
                              "end": {
                                "line": 48,
                                "column": 20
                              },
                              "identifierName": "token"
                            },
                            "name": "token"
                          },
                          "init": null
                        }
                      ],
                      "kind": "const"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 833,
                      "end": 839,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 24
                        },
                        "end": {
                          "line": 48,
                          "column": 30
                        },
                        "identifierName": "tokens"
                      },
                      "name": "tokens"
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 841,
                      "end": 963,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 32
                        },
                        "end": {
                          "line": 54,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 849,
                          "end": 957,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 6
                            },
                            "end": {
                              "line": 53,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 853,
                            "end": 872,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 10
                              },
                              "end": {
                                "line": 49,
                                "column": 29
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 853,
                              "end": 863,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 10
                                },
                                "end": {
                                  "line": 49,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 853,
                                "end": 858,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 15
                                  },
                                  "identifierName": "token"
                                },
                                "name": "token"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 859,
                                "end": 863,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 20
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 868,
                              "end": 872,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 25
                                },
                                "end": {
                                  "line": 49,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "LP",
                                "raw": "\"LP\""
                              },
                              "value": "LP"
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 874,
                            "end": 900,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 31
                              },
                              "end": {
                                "line": 51,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 884,
                                "end": 892,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 16
                                  }
                                },
                                "expression": {
                                  "type": "UpdateExpression",
                                  "start": 884,
                                  "end": 891,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 15
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 886,
                                    "end": 891,
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 15
                                      },
                                      "identifierName": "stack"
                                    },
                                    "name": "stack"
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "IfStatement",
                            "start": 906,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 13
                              },
                              "end": {
                                "line": 53,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 910,
                              "end": 929,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 17
                                },
                                "end": {
                                  "line": 51,
                                  "column": 36
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 910,
                                "end": 920,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 910,
                                  "end": 915,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 22
                                    },
                                    "identifierName": "token"
                                  },
                                  "name": "token"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 916,
                                  "end": 920,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 27
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": false
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 925,
                                "end": 929,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 36
                                  }
                                },
                                "extra": {
                                  "rawValue": "RP",
                                  "raw": "\"RP\""
                                },
                                "value": "RP"
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 931,
                              "end": 957,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 38
                                },
                                "end": {
                                  "line": 53,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 941,
                                  "end": 949,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 16
                                    }
                                  },
                                  "expression": {
                                    "type": "UpdateExpression",
                                    "start": 941,
                                    "end": 948,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 15
                                      }
                                    },
                                    "operator": "--",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 943,
                                      "end": 948,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 15
                                        },
                                        "identifierName": "stack"
                                      },
                                      "name": "stack"
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 969,
                    "end": 982,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 56,
                        "column": 17
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 976,
                      "end": 981,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 11
                        },
                        "end": {
                          "line": 56,
                          "column": 16
                        },
                        "identifierName": "stack"
                      },
                      "name": "stack"
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 990,
              "end": 1232,
              "loc": {
                "start": {
                  "line": 59,
                  "column": 2
                },
                "end": {
                  "line": 70,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 990,
                "end": 1000,
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 2
                  },
                  "end": {
                    "line": 59,
                    "column": 12
                  },
                  "identifierName": "_getTokens"
                },
                "name": "_getTokens"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1003,
                "end": 1232,
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 15
                  },
                  "end": {
                    "line": 70,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1009,
                    "end": 1027,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 4
                      },
                      "end": {
                        "line": 60,
                        "column": 22
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1015,
                        "end": 1026,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 10
                          },
                          "end": {
                            "line": 60,
                            "column": 21
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1015,
                          "end": 1021,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 10
                            },
                            "end": {
                              "line": 60,
                              "column": 16
                            },
                            "identifierName": "tokens"
                          },
                          "name": "tokens"
                        },
                        "init": {
                          "type": "ArrayExpression",
                          "start": 1024,
                          "end": 1026,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 19
                            },
                            "end": {
                              "line": 60,
                              "column": 21
                            }
                          },
                          "elements": []
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1033,
                    "end": 1069,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 4
                      },
                      "end": {
                        "line": 62,
                        "column": 40
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1037,
                        "end": 1068,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 39
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1037,
                          "end": 1049,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 20
                            },
                            "identifierName": "currentToken"
                          },
                          "name": "currentToken"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1052,
                          "end": 1068,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 23
                            },
                            "end": {
                              "line": 62,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1052,
                            "end": 1066,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 23
                              },
                              "end": {
                                "line": 62,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1052,
                              "end": 1056,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 23
                                },
                                "end": {
                                  "line": 62,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1057,
                              "end": 1066,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 28
                                },
                                "end": {
                                  "line": 62,
                                  "column": 37
                                },
                                "identifierName": "_getToken"
                              },
                              "name": "_getToken"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "WhileStatement",
                    "start": 1074,
                    "end": 1184,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 4
                      },
                      "end": {
                        "line": 67,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 1081,
                      "end": 1102,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 11
                        },
                        "end": {
                          "line": 63,
                          "column": 32
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1081,
                        "end": 1093,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 11
                          },
                          "end": {
                            "line": 63,
                            "column": 23
                          },
                          "identifierName": "currentToken"
                        },
                        "name": "currentToken"
                      },
                      "operator": "!==",
                      "right": {
                        "type": "NullLiteral",
                        "start": 1098,
                        "end": 1102,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 28
                          },
                          "end": {
                            "line": 63,
                            "column": 32
                          }
                        }
                      }
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 1104,
                      "end": 1184,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 34
                        },
                        "end": {
                          "line": 67,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 1112,
                          "end": 1138,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 6
                            },
                            "end": {
                              "line": 64,
                              "column": 32
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 1112,
                            "end": 1137,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1112,
                              "end": 1123,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 6
                                },
                                "end": {
                                  "line": 64,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1112,
                                "end": 1118,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 12
                                  },
                                  "identifierName": "tokens"
                                },
                                "name": "tokens"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1119,
                                "end": 1123,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 17
                                  },
                                  "identifierName": "push"
                                },
                                "name": "push"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1124,
                                "end": 1136,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 30
                                  },
                                  "identifierName": "currentToken"
                                },
                                "name": "currentToken"
                              }
                            ]
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 1146,
                          "end": 1178,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 6
                            },
                            "end": {
                              "line": 66,
                              "column": 38
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1146,
                            "end": 1177,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 37
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 1146,
                              "end": 1158,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 6
                                },
                                "end": {
                                  "line": 66,
                                  "column": 18
                                },
                                "identifierName": "currentToken"
                              },
                              "name": "currentToken"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 1161,
                              "end": 1177,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 21
                                },
                                "end": {
                                  "line": 66,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1161,
                                "end": 1175,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1161,
                                  "end": 1165,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1166,
                                  "end": 1175,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 35
                                    },
                                    "identifierName": "_getToken"
                                  },
                                  "name": "_getToken"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1190,
                    "end": 1228,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 4
                      },
                      "end": {
                        "line": 69,
                        "column": 42
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 1197,
                      "end": 1227,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 11
                        },
                        "end": {
                          "line": 69,
                          "column": 41
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1197,
                        "end": 1219,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 11
                          },
                          "end": {
                            "line": 69,
                            "column": 33
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1197,
                          "end": 1201,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 11
                            },
                            "end": {
                              "line": 69,
                              "column": 15
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1202,
                          "end": 1219,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 16
                            },
                            "end": {
                              "line": 69,
                              "column": 33
                            },
                            "identifierName": "__transformTokens"
                          },
                          "name": "__transformTokens"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1220,
                          "end": 1226,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 34
                            },
                            "end": {
                              "line": 69,
                              "column": 40
                            },
                            "identifierName": "tokens"
                          },
                          "name": "tokens"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 1236,
              "end": 2132,
              "loc": {
                "start": {
                  "line": 72,
                  "column": 2
                },
                "end": {
                  "line": 104,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1236,
                "end": 1245,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 2
                  },
                  "end": {
                    "line": 72,
                    "column": 11
                  },
                  "identifierName": "_getToken"
                },
                "name": "_getToken"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1248,
                "end": 2132,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 14
                  },
                  "end": {
                    "line": 104,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1312,
                    "end": 1339,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 4
                      },
                      "end": {
                        "line": 74,
                        "column": 31
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1312,
                      "end": 1338,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 4
                        },
                        "end": {
                          "line": 74,
                          "column": 30
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1312,
                        "end": 1336,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1312,
                          "end": 1316,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 8
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1317,
                          "end": 1336,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 9
                            },
                            "end": {
                              "line": 74,
                              "column": 28
                            },
                            "identifierName": "__updateLastIndices"
                          },
                          "name": "__updateLastIndices"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "arguments": [],
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Update lastIndex property for each expression used",
                        "start": 1254,
                        "end": 1307,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 4
                          },
                          "end": {
                            "line": 73,
                            "column": 57
                          }
                        }
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Match and ignore whitespaces and newlines",
                        "start": 1345,
                        "end": 1389,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 4
                          },
                          "end": {
                            "line": 76,
                            "column": 48
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1394,
                    "end": 1444,
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 4
                      },
                      "end": {
                        "line": 77,
                        "column": 54
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1398,
                        "end": 1443,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 53
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1398,
                          "end": 1409,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 19
                            },
                            "identifierName": "whitespaces"
                          },
                          "name": "whitespaces",
                          "leadingComments": null
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1412,
                          "end": 1443,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 22
                            },
                            "end": {
                              "line": 77,
                              "column": 53
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1412,
                            "end": 1429,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 22
                              },
                              "end": {
                                "line": 77,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1412,
                              "end": 1424,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 22
                                },
                                "end": {
                                  "line": 77,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1412,
                                "end": 1417,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 27
                                  },
                                  "identifierName": "Lexer"
                                },
                                "name": "Lexer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1418,
                                "end": 1424,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 34
                                  },
                                  "identifierName": "WHITES"
                                },
                                "name": "WHITES"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1425,
                              "end": 1429,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 35
                                },
                                "end": {
                                  "line": 77,
                                  "column": 39
                                },
                                "identifierName": "exec"
                              },
                              "name": "exec"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1430,
                              "end": 1442,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 40
                                },
                                "end": {
                                  "line": 77,
                                  "column": 52
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1430,
                                "end": 1434,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 44
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1435,
                                "end": 1442,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 52
                                  },
                                  "identifierName": "program"
                                },
                                "name": "program"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      }
                    ],
                    "kind": "let",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Match and ignore whitespaces and newlines",
                        "start": 1345,
                        "end": 1389,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 4
                          },
                          "end": {
                            "line": 76,
                            "column": 48
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 1449,
                    "end": 1641,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 4
                      },
                      "end": {
                        "line": 85,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 1453,
                      "end": 1473,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 28
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1453,
                        "end": 1464,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 19
                          },
                          "identifierName": "whitespaces"
                        },
                        "name": "whitespaces"
                      },
                      "operator": "!==",
                      "right": {
                        "type": "NullLiteral",
                        "start": 1469,
                        "end": 1473,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 24
                          },
                          "end": {
                            "line": 78,
                            "column": 28
                          }
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 1475,
                      "end": 1641,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 30
                        },
                        "end": {
                          "line": 85,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 1483,
                          "end": 1556,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 6
                            },
                            "end": {
                              "line": 81,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "CallExpression",
                            "start": 1487,
                            "end": 1524,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 10
                              },
                              "end": {
                                "line": 79,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1487,
                              "end": 1505,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 10
                                },
                                "end": {
                                  "line": 79,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1487,
                                "end": 1500,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1487,
                                  "end": 1492,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 15
                                    },
                                    "identifierName": "Lexer"
                                  },
                                  "name": "Lexer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1493,
                                  "end": 1500,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 23
                                    },
                                    "identifierName": "NEWLINE"
                                  },
                                  "name": "NEWLINE"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1501,
                                "end": 1505,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 28
                                  },
                                  "identifierName": "exec"
                                },
                                "name": "exec"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 1506,
                                "end": 1523,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1506,
                                  "end": 1517,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 40
                                    },
                                    "identifierName": "whitespaces"
                                  },
                                  "name": "whitespaces"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1518,
                                  "end": 1523,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 46
                                    },
                                    "identifierName": "value"
                                  },
                                  "name": "value"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 1526,
                            "end": 1556,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 49
                              },
                              "end": {
                                "line": 81,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 1536,
                                "end": 1548,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 20
                                  }
                                },
                                "expression": {
                                  "type": "UpdateExpression",
                                  "start": 1536,
                                  "end": 1547,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 19
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": true,
                                  "argument": {
                                    "type": "MemberExpression",
                                    "start": 1538,
                                    "end": 1547,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 19
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1538,
                                      "end": 1542,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1543,
                                      "end": 1547,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 19
                                        },
                                        "identifierName": "line"
                                      },
                                      "name": "line"
                                    },
                                    "computed": false
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 1563,
                          "end": 1603,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 6
                            },
                            "end": {
                              "line": 82,
                              "column": 46
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1563,
                            "end": 1602,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 6
                              },
                              "end": {
                                "line": 82,
                                "column": 45
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 1563,
                              "end": 1577,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 6
                                },
                                "end": {
                                  "line": 82,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1563,
                                "end": 1567,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1568,
                                "end": 1577,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 20
                                  },
                                  "identifierName": "lastIndex"
                                },
                                "name": "lastIndex"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 1580,
                              "end": 1602,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 23
                                },
                                "end": {
                                  "line": 82,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1580,
                                "end": 1592,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1580,
                                  "end": 1585,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 28
                                    },
                                    "identifierName": "Lexer"
                                  },
                                  "name": "Lexer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1586,
                                  "end": 1592,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 35
                                    },
                                    "identifierName": "WHITES"
                                  },
                                  "name": "WHITES"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1593,
                                "end": 1602,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 45
                                  },
                                  "identifierName": "lastIndex"
                                },
                                "name": "lastIndex"
                              },
                              "computed": false
                            }
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 1611,
                          "end": 1635,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 6
                            },
                            "end": {
                              "line": 84,
                              "column": 30
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 1618,
                            "end": 1634,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 13
                              },
                              "end": {
                                "line": 84,
                                "column": 29
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1618,
                              "end": 1632,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 13
                                },
                                "end": {
                                  "line": 84,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1618,
                                "end": 1622,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 17
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1623,
                                "end": 1632,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 27
                                  },
                                  "identifierName": "_getToken"
                                },
                                "name": "_getToken"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "directives": [],
                      "trailingComments": null
                    },
                    "alternate": null,
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Iterate through each regex",
                        "start": 1647,
                        "end": 1676,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 4
                          },
                          "end": {
                            "line": 87,
                            "column": 33
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1681,
                    "end": 1698,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 4
                      },
                      "end": {
                        "line": 88,
                        "column": 21
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1685,
                        "end": 1697,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 20
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1685,
                          "end": 1690,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 13
                            },
                            "identifierName": "token"
                          },
                          "name": "token",
                          "leadingComments": null
                        },
                        "init": {
                          "type": "NullLiteral",
                          "start": 1693,
                          "end": 1697,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 16
                            },
                            "end": {
                              "line": 88,
                              "column": 20
                            }
                          }
                        },
                        "leadingComments": null
                      }
                    ],
                    "kind": "let",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Iterate through each regex",
                        "start": 1647,
                        "end": 1676,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 4
                          },
                          "end": {
                            "line": 87,
                            "column": 33
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ForStatement",
                    "start": 1703,
                    "end": 2046,
                    "loc": {
                      "start": {
                        "line": 89,
                        "column": 4
                      },
                      "end": {
                        "line": 100,
                        "column": 5
                      }
                    },
                    "init": {
                      "type": "VariableDeclaration",
                      "start": 1708,
                      "end": 1717,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 9
                        },
                        "end": {
                          "line": 89,
                          "column": 18
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1712,
                          "end": 1717,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 13
                            },
                            "end": {
                              "line": 89,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1712,
                            "end": 1713,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 13
                              },
                              "end": {
                                "line": 89,
                                "column": 14
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "init": {
                            "type": "NumericLiteral",
                            "start": 1716,
                            "end": 1717,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 17
                              },
                              "end": {
                                "line": 89,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 1719,
                      "end": 1742,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 20
                        },
                        "end": {
                          "line": 89,
                          "column": 43
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1719,
                        "end": 1720,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 20
                          },
                          "end": {
                            "line": 89,
                            "column": 21
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "operator": "<",
                      "right": {
                        "type": "MemberExpression",
                        "start": 1723,
                        "end": 1742,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 24
                          },
                          "end": {
                            "line": 89,
                            "column": 43
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 1723,
                          "end": 1735,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 24
                            },
                            "end": {
                              "line": 89,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1723,
                            "end": 1728,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 24
                              },
                              "end": {
                                "line": 89,
                                "column": 29
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1729,
                            "end": 1735,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 30
                              },
                              "end": {
                                "line": 89,
                                "column": 36
                              },
                              "identifierName": "TOKENS"
                            },
                            "name": "TOKENS"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1736,
                          "end": 1742,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 37
                            },
                            "end": {
                              "line": 89,
                              "column": 43
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    },
                    "update": {
                      "type": "UpdateExpression",
                      "start": 1744,
                      "end": 1747,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 45
                        },
                        "end": {
                          "line": 89,
                          "column": 48
                        }
                      },
                      "operator": "++",
                      "prefix": true,
                      "argument": {
                        "type": "Identifier",
                        "start": 1746,
                        "end": 1747,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 47
                          },
                          "end": {
                            "line": 89,
                            "column": 48
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      }
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 1749,
                      "end": 2046,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 50
                        },
                        "end": {
                          "line": 100,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 1757,
                          "end": 1804,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 6
                            },
                            "end": {
                              "line": 90,
                              "column": 53
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 1761,
                              "end": 1803,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 10
                                },
                                "end": {
                                  "line": 90,
                                  "column": 52
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 1761,
                                "end": 1766,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 15
                                  },
                                  "identifierName": "match"
                                },
                                "name": "match"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 1769,
                                "end": 1803,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 52
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1769,
                                  "end": 1789,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1769,
                                    "end": 1784,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1769,
                                      "end": 1781,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1769,
                                        "end": 1774,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 23
                                          },
                                          "identifierName": "Lexer"
                                        },
                                        "name": "Lexer"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1775,
                                        "end": 1781,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 30
                                          },
                                          "identifierName": "TOKENS"
                                        },
                                        "name": "TOKENS"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1782,
                                      "end": 1783,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 32
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1785,
                                    "end": 1789,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 38
                                      },
                                      "identifierName": "exec"
                                    },
                                    "name": "exec"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 1790,
                                    "end": 1802,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1790,
                                      "end": 1794,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1795,
                                      "end": 1802,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 51
                                        },
                                        "identifierName": "program"
                                      },
                                      "name": "program"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "let",
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " When matching a expression, add the current line and set the token",
                              "start": 1812,
                              "end": 1881,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 6
                                },
                                "end": {
                                  "line": 92,
                                  "column": 75
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 1888,
                          "end": 2040,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 6
                            },
                            "end": {
                              "line": 99,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 1892,
                            "end": 1906,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 10
                              },
                              "end": {
                                "line": 93,
                                "column": 24
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1892,
                              "end": 1897,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 10
                                },
                                "end": {
                                  "line": 93,
                                  "column": 15
                                },
                                "identifierName": "match"
                              },
                              "name": "match",
                              "leadingComments": null
                            },
                            "operator": "!==",
                            "right": {
                              "type": "NullLiteral",
                              "start": 1902,
                              "end": 1906,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 20
                                },
                                "end": {
                                  "line": 93,
                                  "column": 24
                                }
                              }
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 1908,
                            "end": 2040,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 26
                              },
                              "end": {
                                "line": 99,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 1918,
                                "end": 1941,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 31
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 1918,
                                  "end": 1940,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 30
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 1918,
                                    "end": 1928,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 18
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1918,
                                      "end": 1923,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 13
                                        },
                                        "identifierName": "match"
                                      },
                                      "name": "match"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1924,
                                      "end": 1928,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 18
                                        },
                                        "identifierName": "line"
                                      },
                                      "name": "line"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 1931,
                                    "end": 1940,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1931,
                                      "end": 1935,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1936,
                                      "end": 1940,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 30
                                        },
                                        "identifierName": "line"
                                      },
                                      "name": "line"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 1950,
                                "end": 1993,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 51
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 1950,
                                  "end": 1992,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 50
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 1950,
                                    "end": 1964,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1950,
                                      "end": 1954,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1955,
                                      "end": 1964,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 22
                                        },
                                        "identifierName": "lastIndex"
                                      },
                                      "name": "lastIndex"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 1967,
                                    "end": 1992,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1967,
                                      "end": 1982,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1967,
                                        "end": 1979,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1967,
                                          "end": 1972,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 30
                                            },
                                            "identifierName": "Lexer"
                                          },
                                          "name": "Lexer"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1973,
                                          "end": 1979,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 37
                                            },
                                            "identifierName": "TOKENS"
                                          },
                                          "name": "TOKENS"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1980,
                                        "end": 1981,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 39
                                          },
                                          "identifierName": "i"
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1983,
                                      "end": 1992,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 50
                                        },
                                        "identifierName": "lastIndex"
                                      },
                                      "name": "lastIndex"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 2003,
                                "end": 2017,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 22
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2003,
                                  "end": 2016,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 21
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2003,
                                    "end": 2008,
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 13
                                      },
                                      "identifierName": "token"
                                    },
                                    "name": "token"
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "start": 2011,
                                    "end": 2016,
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 21
                                      },
                                      "identifierName": "match"
                                    },
                                    "name": "match"
                                  }
                                }
                              },
                              {
                                "type": "BreakStatement",
                                "start": 2026,
                                "end": 2032,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 14
                                  }
                                },
                                "label": null
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " When matching a expression, add the current line and set the token",
                              "start": 1812,
                              "end": 1881,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 6
                                },
                                "end": {
                                  "line": 92,
                                  "column": 75
                                }
                              }
                            }
                          ]
                        }
                      ],
                      "directives": [],
                      "trailingComments": null
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Return the matched token, or null if anything was found",
                        "start": 2052,
                        "end": 2110,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 4
                          },
                          "end": {
                            "line": 102,
                            "column": 62
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 2115,
                    "end": 2128,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 4
                      },
                      "end": {
                        "line": 103,
                        "column": 17
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 2122,
                      "end": 2127,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 11
                        },
                        "end": {
                          "line": 103,
                          "column": 16
                        },
                        "identifierName": "token"
                      },
                      "name": "token",
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Return the matched token, or null if anything was found",
                        "start": 2052,
                        "end": 2110,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 4
                          },
                          "end": {
                            "line": 102,
                            "column": 62
                          }
                        }
                      }
                    ]
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 2136,
              "end": 3055,
              "loc": {
                "start": {
                  "line": 106,
                  "column": 2
                },
                "end": {
                  "line": 140,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2136,
                "end": 2153,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 2
                  },
                  "end": {
                    "line": 106,
                    "column": 19
                  },
                  "identifierName": "__transformTokens"
                },
                "name": "__transformTokens"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2154,
                  "end": 2160,
                  "loc": {
                    "start": {
                      "line": 106,
                      "column": 20
                    },
                    "end": {
                      "line": 106,
                      "column": 26
                    },
                    "identifierName": "tokens"
                  },
                  "name": "tokens"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2162,
                "end": 3055,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 28
                  },
                  "end": {
                    "line": 140,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ForStatement",
                    "start": 2168,
                    "end": 3031,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 4
                      },
                      "end": {
                        "line": 137,
                        "column": 5
                      }
                    },
                    "init": {
                      "type": "VariableDeclaration",
                      "start": 2173,
                      "end": 2182,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 9
                        },
                        "end": {
                          "line": 107,
                          "column": 18
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2177,
                          "end": 2182,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 13
                            },
                            "end": {
                              "line": 107,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2177,
                            "end": 2178,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 13
                              },
                              "end": {
                                "line": 107,
                                "column": 14
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "init": {
                            "type": "NumericLiteral",
                            "start": 2181,
                            "end": 2182,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 17
                              },
                              "end": {
                                "line": 107,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 2184,
                      "end": 2201,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 20
                        },
                        "end": {
                          "line": 107,
                          "column": 37
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2184,
                        "end": 2185,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 20
                          },
                          "end": {
                            "line": 107,
                            "column": 21
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "operator": "<",
                      "right": {
                        "type": "MemberExpression",
                        "start": 2188,
                        "end": 2201,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 24
                          },
                          "end": {
                            "line": 107,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2188,
                          "end": 2194,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 24
                            },
                            "end": {
                              "line": 107,
                              "column": 30
                            },
                            "identifierName": "tokens"
                          },
                          "name": "tokens"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2195,
                          "end": 2201,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 31
                            },
                            "end": {
                              "line": 107,
                              "column": 37
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    },
                    "update": {
                      "type": "UpdateExpression",
                      "start": 2203,
                      "end": 2206,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 39
                        },
                        "end": {
                          "line": 107,
                          "column": 42
                        }
                      },
                      "operator": "++",
                      "prefix": true,
                      "argument": {
                        "type": "Identifier",
                        "start": 2205,
                        "end": 2206,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 41
                          },
                          "end": {
                            "line": 107,
                            "column": 42
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      }
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 2208,
                      "end": 3031,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 44
                        },
                        "end": {
                          "line": 137,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 2236,
                          "end": 2416,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 6
                            },
                            "end": {
                              "line": 114,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 2240,
                            "end": 2265,
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 10
                              },
                              "end": {
                                "line": 109,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 2240,
                              "end": 2254,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 10
                                },
                                "end": {
                                  "line": 109,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 2240,
                                "end": 2249,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 19
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2240,
                                  "end": 2246,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 16
                                    },
                                    "identifierName": "tokens"
                                  },
                                  "name": "tokens",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2247,
                                  "end": 2248,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 18
                                    },
                                    "identifierName": "i"
                                  },
                                  "name": "i"
                                },
                                "computed": true,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2250,
                                "end": 2254,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 24
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 2259,
                              "end": 2265,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 29
                                },
                                "end": {
                                  "line": 109,
                                  "column": 35
                                }
                              },
                              "extra": {
                                "rawValue": "WORD",
                                "raw": "\"WORD\""
                              },
                              "value": "WORD"
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 2267,
                            "end": 2416,
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 37
                              },
                              "end": {
                                "line": 114,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 2277,
                                "end": 2309,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 40
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2283,
                                    "end": 2308,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 39
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2283,
                                      "end": 2292,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 23
                                        },
                                        "identifierName": "nextToken"
                                      },
                                      "name": "nextToken"
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 2295,
                                      "end": 2308,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2295,
                                        "end": 2301,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 32
                                          },
                                          "identifierName": "tokens"
                                        },
                                        "name": "tokens"
                                      },
                                      "property": {
                                        "type": "BinaryExpression",
                                        "start": 2302,
                                        "end": 2307,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 38
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 2302,
                                          "end": 2303,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 34
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "NumericLiteral",
                                          "start": 2306,
                                          "end": 2307,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 38
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        }
                                      },
                                      "computed": true
                                    }
                                  }
                                ],
                                "kind": "const"
                              },
                              {
                                "type": "IfStatement",
                                "start": 2318,
                                "end": 2408,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "LogicalExpression",
                                  "start": 2322,
                                  "end": 2358,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2322,
                                    "end": 2331,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 21
                                      },
                                      "identifierName": "nextToken"
                                    },
                                    "name": "nextToken"
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 2335,
                                    "end": 2358,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 48
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2335,
                                      "end": 2350,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2335,
                                        "end": 2344,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 34
                                          },
                                          "identifierName": "nextToken"
                                        },
                                        "name": "nextToken"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2345,
                                        "end": 2350,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 40
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 2355,
                                      "end": 2358,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 48
                                        }
                                      },
                                      "extra": {
                                        "rawValue": ":",
                                        "raw": "\":\""
                                      },
                                      "value": ":"
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2360,
                                  "end": 2408,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 113,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2372,
                                      "end": 2398,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 36
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2372,
                                        "end": 2397,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 35
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2372,
                                          "end": 2386,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 24
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2372,
                                            "end": 2381,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 19
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2372,
                                              "end": 2378,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 16
                                                },
                                                "identifierName": "tokens"
                                              },
                                              "name": "tokens"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2379,
                                              "end": 2380,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 18
                                                },
                                                "identifierName": "i"
                                              },
                                              "name": "i"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2382,
                                            "end": 2386,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 24
                                              },
                                              "identifierName": "type"
                                            },
                                            "name": "type"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 2389,
                                          "end": 2397,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 35
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "STRING",
                                            "raw": "\"STRING\""
                                          },
                                          "value": "STRING"
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              }
                            ],
                            "directives": [],
                            "trailingComments": null
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " x: => \"x\",",
                              "start": 2216,
                              "end": 2229,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 6
                                },
                                "end": {
                                  "line": 108,
                                  "column": 19
                                }
                              }
                            }
                          ],
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " Replace dots with parentehsis",
                              "start": 2424,
                              "end": 2456,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 6
                                },
                                "end": {
                                  "line": 116,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "CommentLine",
                              "value": " a.b   =>    a(\"b\")",
                              "start": 2463,
                              "end": 2484,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 6
                                },
                                "end": {
                                  "line": 117,
                                  "column": 27
                                }
                              }
                            },
                            {
                              "type": "CommentLine",
                              "value": " a.b.c   =>  a(\"b\")(\"c\")",
                              "start": 2491,
                              "end": 2517,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 6
                                },
                                "end": {
                                  "line": 118,
                                  "column": 32
                                }
                              }
                            },
                            {
                              "type": "CommentLine",
                              "value": " a.b(c, d)   => a(\"b\", c, d)",
                              "start": 2524,
                              "end": 2554,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 6
                                },
                                "end": {
                                  "line": 119,
                                  "column": 36
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 2561,
                          "end": 3025,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 6
                            },
                            "end": {
                              "line": 136,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 2565,
                            "end": 2615,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 10
                              },
                              "end": {
                                "line": 120,
                                "column": 60
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 2565,
                              "end": 2588,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 10
                                },
                                "end": {
                                  "line": 120,
                                  "column": 33
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2565,
                                "end": 2579,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2565,
                                  "end": 2574,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 19
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2565,
                                    "end": 2571,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 16
                                      },
                                      "identifierName": "tokens"
                                    },
                                    "name": "tokens",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2572,
                                    "end": 2573,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 18
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2575,
                                  "end": 2579,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 24
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 2584,
                                "end": 2588,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 33
                                  }
                                },
                                "extra": {
                                  "rawValue": "LP",
                                  "raw": "\"LP\""
                                },
                                "value": "LP"
                              },
                              "leadingComments": null
                            },
                            "operator": "&&",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 2592,
                              "end": 2615,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 37
                                },
                                "end": {
                                  "line": 120,
                                  "column": 60
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2592,
                                "end": 2607,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2592,
                                  "end": 2601,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2592,
                                    "end": 2598,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 43
                                      },
                                      "identifierName": "tokens"
                                    },
                                    "name": "tokens"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2599,
                                    "end": 2600,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 45
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2602,
                                  "end": 2607,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 52
                                    },
                                    "identifierName": "value"
                                  },
                                  "name": "value"
                                },
                                "computed": false
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 2612,
                                "end": 2615,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 60
                                  }
                                },
                                "extra": {
                                  "rawValue": ".",
                                  "raw": "\".\""
                                },
                                "value": "."
                              }
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 2617,
                            "end": 3025,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 62
                              },
                              "end": {
                                "line": 136,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 2627,
                                "end": 2649,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 30
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2627,
                                  "end": 2648,
                                  "loc": {
                                    "start": {
                                      "line": 121,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 29
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 2627,
                                    "end": 2642,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2627,
                                      "end": 2636,
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 17
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2627,
                                        "end": 2633,
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 14
                                          },
                                          "identifierName": "tokens"
                                        },
                                        "name": "tokens"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2634,
                                        "end": 2635,
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 16
                                          },
                                          "identifierName": "i"
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2637,
                                      "end": 2642,
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 23
                                        },
                                        "identifierName": "value"
                                      },
                                      "name": "value"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 2645,
                                    "end": 2648,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 29
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "(",
                                      "raw": "\"(\""
                                    },
                                    "value": "("
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 2659,
                                "end": 2686,
                                "loc": {
                                  "start": {
                                    "line": 123,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 35
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2665,
                                    "end": 2685,
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 34
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2665,
                                      "end": 2669,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 18
                                        },
                                        "identifierName": "expr"
                                      },
                                      "name": "expr"
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 2672,
                                      "end": 2685,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2672,
                                        "end": 2678,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 27
                                          },
                                          "identifierName": "tokens"
                                        },
                                        "name": "tokens"
                                      },
                                      "property": {
                                        "type": "BinaryExpression",
                                        "start": 2679,
                                        "end": 2684,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 33
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 2679,
                                          "end": 2680,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 29
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "NumericLiteral",
                                          "start": 2683,
                                          "end": 2684,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 33
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        }
                                      },
                                      "computed": true
                                    }
                                  }
                                ],
                                "kind": "const"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 2695,
                                "end": 2721,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 34
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2701,
                                    "end": 2720,
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 33
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2701,
                                      "end": 2704,
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 17
                                        },
                                        "identifierName": "arg"
                                      },
                                      "name": "arg"
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 2707,
                                      "end": 2720,
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2707,
                                        "end": 2713,
                                        "loc": {
                                          "start": {
                                            "line": 124,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 124,
                                            "column": 26
                                          },
                                          "identifierName": "tokens"
                                        },
                                        "name": "tokens"
                                      },
                                      "property": {
                                        "type": "BinaryExpression",
                                        "start": 2714,
                                        "end": 2719,
                                        "loc": {
                                          "start": {
                                            "line": 124,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 124,
                                            "column": 32
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 2714,
                                          "end": 2715,
                                          "loc": {
                                            "start": {
                                              "line": 124,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 124,
                                              "column": 28
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "NumericLiteral",
                                          "start": 2718,
                                          "end": 2719,
                                          "loc": {
                                            "start": {
                                              "line": 124,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 124,
                                              "column": 32
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "value": 2
                                        }
                                      },
                                      "computed": true
                                    }
                                  }
                                ],
                                "kind": "const"
                              },
                              {
                                "type": "IfStatement",
                                "start": 2731,
                                "end": 2808,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "LogicalExpression",
                                  "start": 2735,
                                  "end": 2763,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2735,
                                    "end": 2739,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 16
                                      },
                                      "identifierName": "expr"
                                    },
                                    "name": "expr"
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 2743,
                                    "end": 2763,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 40
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2743,
                                      "end": 2752,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2743,
                                        "end": 2747,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 24
                                          },
                                          "identifierName": "expr"
                                        },
                                        "name": "expr"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2748,
                                        "end": 2752,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 29
                                          },
                                          "identifierName": "type"
                                        },
                                        "name": "type"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 2757,
                                      "end": 2763,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 40
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "WORD",
                                        "raw": "\"WORD\""
                                      },
                                      "value": "WORD"
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2765,
                                  "end": 2808,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2777,
                                      "end": 2798,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 31
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2777,
                                        "end": 2797,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 30
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2777,
                                          "end": 2786,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 19
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2777,
                                            "end": 2781,
                                            "loc": {
                                              "start": {
                                                "line": 127,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 127,
                                                "column": 14
                                              },
                                              "identifierName": "expr"
                                            },
                                            "name": "expr"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2782,
                                            "end": 2786,
                                            "loc": {
                                              "start": {
                                                "line": 127,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 127,
                                                "column": 19
                                              },
                                              "identifierName": "type"
                                            },
                                            "name": "type"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 2789,
                                          "end": 2797,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 30
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "STRING",
                                            "raw": "\"STRING\""
                                          },
                                          "value": "STRING"
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              },
                              {
                                "type": "IfStatement",
                                "start": 2818,
                                "end": 3017,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "LogicalExpression",
                                  "start": 2822,
                                  "end": 2867,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "LogicalExpression",
                                    "start": 2822,
                                    "end": 2846,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 36
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2822,
                                      "end": 2825,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 15
                                        },
                                        "identifierName": "arg"
                                      },
                                      "name": "arg"
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 2829,
                                      "end": 2846,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 36
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 2829,
                                        "end": 2837,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2829,
                                          "end": 2832,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 22
                                            },
                                            "identifierName": "arg"
                                          },
                                          "name": "arg"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2833,
                                          "end": 2837,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 27
                                            },
                                            "identifierName": "type"
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 2842,
                                        "end": 2846,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 36
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "LP",
                                          "raw": "\"LP\""
                                        },
                                        "value": "LP"
                                      }
                                    }
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 2850,
                                    "end": 2867,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 57
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2850,
                                      "end": 2859,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2850,
                                        "end": 2853,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 43
                                          },
                                          "identifierName": "arg"
                                        },
                                        "name": "arg"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2854,
                                        "end": 2859,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 49
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "computed": false
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 2864,
                                      "end": 2867,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 57
                                        }
                                      },
                                      "extra": {
                                        "rawValue": ".",
                                        "raw": "\".\""
                                      },
                                      "value": "."
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2869,
                                  "end": 2937,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2881,
                                      "end": 2900,
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 29
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2881,
                                        "end": 2899,
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 28
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2881,
                                          "end": 2889,
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 18
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2881,
                                            "end": 2884,
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 13
                                              },
                                              "identifierName": "arg"
                                            },
                                            "name": "arg"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2885,
                                            "end": 2889,
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 18
                                              },
                                              "identifierName": "type"
                                            },
                                            "name": "type"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 2892,
                                          "end": 2899,
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 28
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "COMMA",
                                            "raw": "\"COMMA\""
                                          },
                                          "value": "COMMA"
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2911,
                                      "end": 2927,
                                      "loc": {
                                        "start": {
                                          "line": 132,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 132,
                                          "column": 26
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2911,
                                        "end": 2926,
                                        "loc": {
                                          "start": {
                                            "line": 132,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 132,
                                            "column": 25
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2911,
                                          "end": 2920,
                                          "loc": {
                                            "start": {
                                              "line": 132,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 132,
                                              "column": 19
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2911,
                                            "end": 2914,
                                            "loc": {
                                              "start": {
                                                "line": 132,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 132,
                                                "column": 13
                                              },
                                              "identifierName": "arg"
                                            },
                                            "name": "arg"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2915,
                                            "end": 2920,
                                            "loc": {
                                              "start": {
                                                "line": 132,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 132,
                                                "column": 19
                                              },
                                              "identifierName": "value"
                                            },
                                            "name": "value"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 2923,
                                          "end": 2926,
                                          "loc": {
                                            "start": {
                                              "line": 132,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 132,
                                              "column": 25
                                            }
                                          },
                                          "extra": {
                                            "rawValue": ",",
                                            "raw": "\",\""
                                          },
                                          "value": ","
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": {
                                  "type": "BlockStatement",
                                  "start": 2943,
                                  "end": 3017,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2955,
                                      "end": 3007,
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 62
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2955,
                                        "end": 3006,
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 61
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2955,
                                          "end": 2968,
                                          "loc": {
                                            "start": {
                                              "line": 134,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 134,
                                              "column": 23
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2955,
                                            "end": 2961,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 16
                                              },
                                              "identifierName": "tokens"
                                            },
                                            "name": "tokens"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2962,
                                            "end": 2968,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 23
                                              },
                                              "identifierName": "splice"
                                            },
                                            "name": "splice"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "BinaryExpression",
                                            "start": 2969,
                                            "end": 2974,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 29
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 2969,
                                              "end": 2970,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 25
                                                },
                                                "identifierName": "i"
                                              },
                                              "name": "i"
                                            },
                                            "operator": "+",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 2973,
                                              "end": 2974,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 29
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            }
                                          },
                                          {
                                            "type": "NumericLiteral",
                                            "start": 2976,
                                            "end": 2977,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 32
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "start": 2979,
                                            "end": 3005,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 60
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "ObjectProperty",
                                                "start": 2981,
                                                "end": 2991,
                                                "loc": {
                                                  "start": {
                                                    "line": 134,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 134,
                                                    "column": 46
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2981,
                                                  "end": 2985,
                                                  "loc": {
                                                    "start": {
                                                      "line": 134,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 134,
                                                      "column": 40
                                                    },
                                                    "identifierName": "type"
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "StringLiteral",
                                                  "start": 2987,
                                                  "end": 2991,
                                                  "loc": {
                                                    "start": {
                                                      "line": 134,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 134,
                                                      "column": 46
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": "RP",
                                                    "raw": "\"RP\""
                                                  },
                                                  "value": "RP"
                                                }
                                              },
                                              {
                                                "type": "ObjectProperty",
                                                "start": 2993,
                                                "end": 3003,
                                                "loc": {
                                                  "start": {
                                                    "line": 134,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 134,
                                                    "column": 58
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2993,
                                                  "end": 2998,
                                                  "loc": {
                                                    "start": {
                                                      "line": 134,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 134,
                                                      "column": 53
                                                    },
                                                    "identifierName": "value"
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "StringLiteral",
                                                  "start": 3000,
                                                  "end": 3003,
                                                  "loc": {
                                                    "start": {
                                                      "line": 134,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 134,
                                                      "column": 58
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": ")",
                                                    "raw": "\")\""
                                                  },
                                                  "value": ")"
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " Replace dots with parentehsis",
                              "start": 2424,
                              "end": 2456,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 6
                                },
                                "end": {
                                  "line": 116,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "CommentLine",
                              "value": " a.b   =>    a(\"b\")",
                              "start": 2463,
                              "end": 2484,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 6
                                },
                                "end": {
                                  "line": 117,
                                  "column": 27
                                }
                              }
                            },
                            {
                              "type": "CommentLine",
                              "value": " a.b.c   =>  a(\"b\")(\"c\")",
                              "start": 2491,
                              "end": 2517,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 6
                                },
                                "end": {
                                  "line": 118,
                                  "column": 32
                                }
                              }
                            },
                            {
                              "type": "CommentLine",
                              "value": " a.b(c, d)   => a(\"b\", c, d)",
                              "start": 2524,
                              "end": 2554,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 6
                                },
                                "end": {
                                  "line": 119,
                                  "column": 36
                                }
                              }
                            }
                          ]
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3037,
                    "end": 3051,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 4
                      },
                      "end": {
                        "line": 139,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 3044,
                      "end": 3050,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 11
                        },
                        "end": {
                          "line": 139,
                          "column": 17
                        },
                        "identifierName": "tokens"
                      },
                      "name": "tokens"
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 3059,
              "end": 3259,
              "loc": {
                "start": {
                  "line": 142,
                  "column": 2
                },
                "end": {
                  "line": 148,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3059,
                "end": 3078,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 2
                  },
                  "end": {
                    "line": 142,
                    "column": 21
                  },
                  "identifierName": "__updateLastIndices"
                },
                "name": "__updateLastIndices"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 3081,
                "end": 3259,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 24
                  },
                  "end": {
                    "line": 148,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 3087,
                    "end": 3164,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 4
                      },
                      "end": {
                        "line": 145,
                        "column": 7
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 3087,
                      "end": 3163,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 4
                        },
                        "end": {
                          "line": 145,
                          "column": 6
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3087,
                        "end": 3107,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 4
                          },
                          "end": {
                            "line": 143,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 3087,
                          "end": 3099,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 4
                            },
                            "end": {
                              "line": 143,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3087,
                            "end": 3092,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 4
                              },
                              "end": {
                                "line": 143,
                                "column": 9
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3093,
                            "end": 3099,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 10
                              },
                              "end": {
                                "line": 143,
                                "column": 16
                              },
                              "identifierName": "TOKENS"
                            },
                            "name": "TOKENS"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3100,
                          "end": 3107,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 17
                            },
                            "end": {
                              "line": 143,
                              "column": 24
                            },
                            "identifierName": "forEach"
                          },
                          "name": "forEach"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 3108,
                          "end": 3162,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 25
                            },
                            "end": {
                              "line": 145,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 3108,
                              "end": 3112,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 25
                                },
                                "end": {
                                  "line": 143,
                                  "column": 29
                                },
                                "identifierName": "expr"
                              },
                              "name": "expr"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 3116,
                            "end": 3162,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 33
                              },
                              "end": {
                                "line": 145,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 3124,
                                "end": 3156,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 38
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 3124,
                                  "end": 3155,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 37
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 3124,
                                    "end": 3138,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3124,
                                      "end": 3128,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 10
                                        },
                                        "identifierName": "expr"
                                      },
                                      "name": "expr"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3129,
                                      "end": 3138,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 20
                                        },
                                        "identifierName": "lastIndex"
                                      },
                                      "name": "lastIndex"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 3141,
                                    "end": 3155,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3141,
                                      "end": 3145,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3146,
                                      "end": 3155,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 37
                                        },
                                        "identifierName": "lastIndex"
                                      },
                                      "name": "lastIndex"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 3169,
                    "end": 3209,
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 4
                      },
                      "end": {
                        "line": 146,
                        "column": 44
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 3169,
                      "end": 3208,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 4
                        },
                        "end": {
                          "line": 146,
                          "column": 43
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 3169,
                        "end": 3191,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 4
                          },
                          "end": {
                            "line": 146,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 3169,
                          "end": 3181,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 4
                            },
                            "end": {
                              "line": 146,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3169,
                            "end": 3174,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 4
                              },
                              "end": {
                                "line": 146,
                                "column": 9
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3175,
                            "end": 3181,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 10
                              },
                              "end": {
                                "line": 146,
                                "column": 16
                              },
                              "identifierName": "WHITES"
                            },
                            "name": "WHITES"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3182,
                          "end": 3191,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 17
                            },
                            "end": {
                              "line": 146,
                              "column": 26
                            },
                            "identifierName": "lastIndex"
                          },
                          "name": "lastIndex"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 3194,
                        "end": 3208,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 29
                          },
                          "end": {
                            "line": 146,
                            "column": 43
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 3194,
                          "end": 3198,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 29
                            },
                            "end": {
                              "line": 146,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3199,
                          "end": 3208,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 34
                            },
                            "end": {
                              "line": 146,
                              "column": 43
                            },
                            "identifierName": "lastIndex"
                          },
                          "name": "lastIndex"
                        },
                        "computed": false
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 3214,
                    "end": 3255,
                    "loc": {
                      "start": {
                        "line": 147,
                        "column": 4
                      },
                      "end": {
                        "line": 147,
                        "column": 45
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 3214,
                      "end": 3254,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 4
                        },
                        "end": {
                          "line": 147,
                          "column": 44
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 3214,
                        "end": 3237,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 4
                          },
                          "end": {
                            "line": 147,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 3214,
                          "end": 3227,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 4
                            },
                            "end": {
                              "line": 147,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3214,
                            "end": 3219,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 4
                              },
                              "end": {
                                "line": 147,
                                "column": 9
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3220,
                            "end": 3227,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 10
                              },
                              "end": {
                                "line": 147,
                                "column": 17
                              },
                              "identifierName": "NEWLINE"
                            },
                            "name": "NEWLINE"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3228,
                          "end": 3237,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 18
                            },
                            "end": {
                              "line": 147,
                              "column": 27
                            },
                            "identifierName": "lastIndex"
                          },
                          "name": "lastIndex"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 3240,
                        "end": 3254,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 30
                          },
                          "end": {
                            "line": 147,
                            "column": 44
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 3240,
                          "end": 3244,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 30
                            },
                            "end": {
                              "line": 147,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3245,
                          "end": 3254,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 35
                            },
                            "end": {
                              "line": 147,
                              "column": 44
                            },
                            "identifierName": "lastIndex"
                          },
                          "name": "lastIndex"
                        },
                        "computed": false
                      }
                    }
                  }
                ],
                "directives": []
              }
            }
          ]
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExpressionStatement",
        "start": 3263,
        "end": 3416,
        "loc": {
          "start": {
            "line": 151,
            "column": 0
          },
          "end": {
            "line": 159,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 3263,
          "end": 3415,
          "loc": {
            "start": {
              "line": 151,
              "column": 0
            },
            "end": {
              "line": 159,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 3263,
            "end": 3275,
            "loc": {
              "start": {
                "line": 151,
                "column": 0
              },
              "end": {
                "line": 151,
                "column": 12
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3263,
              "end": 3268,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 0
                },
                "end": {
                  "line": 151,
                  "column": 5
                },
                "identifierName": "Lexer"
              },
              "name": "Lexer"
            },
            "property": {
              "type": "Identifier",
              "start": 3269,
              "end": 3275,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 6
                },
                "end": {
                  "line": 151,
                  "column": 12
                },
                "identifierName": "TOKENS"
              },
              "name": "TOKENS"
            },
            "computed": false
          },
          "right": {
            "type": "ArrayExpression",
            "start": 3278,
            "end": 3415,
            "loc": {
              "start": {
                "line": 151,
                "column": 15
              },
              "end": {
                "line": 159,
                "column": 1
              }
            },
            "elements": [
              {
                "type": "MemberExpression",
                "start": 3282,
                "end": 3299,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 2
                  },
                  "end": {
                    "line": 152,
                    "column": 19
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3282,
                  "end": 3292,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 2
                    },
                    "end": {
                      "line": 152,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3293,
                  "end": 3299,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 13
                    },
                    "end": {
                      "line": 152,
                      "column": 19
                    },
                    "identifierName": "NUMBER"
                  },
                  "name": "NUMBER"
                },
                "computed": false
              },
              {
                "type": "MemberExpression",
                "start": 3303,
                "end": 3320,
                "loc": {
                  "start": {
                    "line": 153,
                    "column": 2
                  },
                  "end": {
                    "line": 153,
                    "column": 19
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3303,
                  "end": 3313,
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 2
                    },
                    "end": {
                      "line": 153,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3314,
                  "end": 3320,
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 13
                    },
                    "end": {
                      "line": 153,
                      "column": 19
                    },
                    "identifierName": "STRING"
                  },
                  "name": "STRING"
                },
                "computed": false
              },
              {
                "type": "MemberExpression",
                "start": 3324,
                "end": 3340,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 2
                  },
                  "end": {
                    "line": 154,
                    "column": 18
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3324,
                  "end": 3334,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 2
                    },
                    "end": {
                      "line": 154,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3335,
                  "end": 3340,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 13
                    },
                    "end": {
                      "line": 154,
                      "column": 18
                    },
                    "identifierName": "REGEX"
                  },
                  "name": "REGEX"
                },
                "computed": false
              },
              {
                "type": "MemberExpression",
                "start": 3344,
                "end": 3359,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 2
                  },
                  "end": {
                    "line": 155,
                    "column": 17
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3344,
                  "end": 3354,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 2
                    },
                    "end": {
                      "line": 155,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3355,
                  "end": 3359,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 13
                    },
                    "end": {
                      "line": 155,
                      "column": 17
                    },
                    "identifierName": "WORD"
                  },
                  "name": "WORD"
                },
                "computed": false
              },
              {
                "type": "MemberExpression",
                "start": 3363,
                "end": 3376,
                "loc": {
                  "start": {
                    "line": 156,
                    "column": 2
                  },
                  "end": {
                    "line": 156,
                    "column": 15
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3363,
                  "end": 3373,
                  "loc": {
                    "start": {
                      "line": 156,
                      "column": 2
                    },
                    "end": {
                      "line": 156,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3374,
                  "end": 3376,
                  "loc": {
                    "start": {
                      "line": 156,
                      "column": 13
                    },
                    "end": {
                      "line": 156,
                      "column": 15
                    },
                    "identifierName": "LP"
                  },
                  "name": "LP"
                },
                "computed": false
              },
              {
                "type": "MemberExpression",
                "start": 3380,
                "end": 3393,
                "loc": {
                  "start": {
                    "line": 157,
                    "column": 2
                  },
                  "end": {
                    "line": 157,
                    "column": 15
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3380,
                  "end": 3390,
                  "loc": {
                    "start": {
                      "line": 157,
                      "column": 2
                    },
                    "end": {
                      "line": 157,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3391,
                  "end": 3393,
                  "loc": {
                    "start": {
                      "line": 157,
                      "column": 13
                    },
                    "end": {
                      "line": 157,
                      "column": 15
                    },
                    "identifierName": "RP"
                  },
                  "name": "RP"
                },
                "computed": false
              },
              {
                "type": "MemberExpression",
                "start": 3397,
                "end": 3413,
                "loc": {
                  "start": {
                    "line": 158,
                    "column": 2
                  },
                  "end": {
                    "line": 158,
                    "column": 18
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3397,
                  "end": 3407,
                  "loc": {
                    "start": {
                      "line": 158,
                      "column": 2
                    },
                    "end": {
                      "line": 158,
                      "column": 12
                    },
                    "identifierName": "tokenRegex"
                  },
                  "name": "tokenRegex"
                },
                "property": {
                  "type": "Identifier",
                  "start": 3408,
                  "end": 3413,
                  "loc": {
                    "start": {
                      "line": 158,
                      "column": 13
                    },
                    "end": {
                      "line": 158,
                      "column": 18
                    },
                    "identifierName": "COMMA"
                  },
                  "name": "COMMA"
                },
                "computed": false
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 3418,
        "end": 3451,
        "loc": {
          "start": {
            "line": 161,
            "column": 0
          },
          "end": {
            "line": 161,
            "column": 33
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 3418,
          "end": 3450,
          "loc": {
            "start": {
              "line": 161,
              "column": 0
            },
            "end": {
              "line": 161,
              "column": 32
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 3418,
            "end": 3430,
            "loc": {
              "start": {
                "line": 161,
                "column": 0
              },
              "end": {
                "line": 161,
                "column": 12
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3418,
              "end": 3423,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 0
                },
                "end": {
                  "line": 161,
                  "column": 5
                },
                "identifierName": "Lexer"
              },
              "name": "Lexer"
            },
            "property": {
              "type": "Identifier",
              "start": 3424,
              "end": 3430,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 6
                },
                "end": {
                  "line": 161,
                  "column": 12
                },
                "identifierName": "WHITES"
              },
              "name": "WHITES"
            },
            "computed": false
          },
          "right": {
            "type": "MemberExpression",
            "start": 3433,
            "end": 3450,
            "loc": {
              "start": {
                "line": 161,
                "column": 15
              },
              "end": {
                "line": 161,
                "column": 32
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3433,
              "end": 3443,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 15
                },
                "end": {
                  "line": 161,
                  "column": 25
                },
                "identifierName": "tokenRegex"
              },
              "name": "tokenRegex"
            },
            "property": {
              "type": "Identifier",
              "start": 3444,
              "end": 3450,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 26
                },
                "end": {
                  "line": 161,
                  "column": 32
                },
                "identifierName": "WHITES"
              },
              "name": "WHITES"
            },
            "computed": false
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 3452,
        "end": 3487,
        "loc": {
          "start": {
            "line": 162,
            "column": 0
          },
          "end": {
            "line": 162,
            "column": 35
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 3452,
          "end": 3486,
          "loc": {
            "start": {
              "line": 162,
              "column": 0
            },
            "end": {
              "line": 162,
              "column": 34
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 3452,
            "end": 3465,
            "loc": {
              "start": {
                "line": 162,
                "column": 0
              },
              "end": {
                "line": 162,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3452,
              "end": 3457,
              "loc": {
                "start": {
                  "line": 162,
                  "column": 0
                },
                "end": {
                  "line": 162,
                  "column": 5
                },
                "identifierName": "Lexer"
              },
              "name": "Lexer"
            },
            "property": {
              "type": "Identifier",
              "start": 3458,
              "end": 3465,
              "loc": {
                "start": {
                  "line": 162,
                  "column": 6
                },
                "end": {
                  "line": 162,
                  "column": 13
                },
                "identifierName": "NEWLINE"
              },
              "name": "NEWLINE"
            },
            "computed": false
          },
          "right": {
            "type": "MemberExpression",
            "start": 3468,
            "end": 3486,
            "loc": {
              "start": {
                "line": 162,
                "column": 16
              },
              "end": {
                "line": 162,
                "column": 34
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3468,
              "end": 3478,
              "loc": {
                "start": {
                  "line": 162,
                  "column": 16
                },
                "end": {
                  "line": 162,
                  "column": 26
                },
                "identifierName": "tokenRegex"
              },
              "name": "tokenRegex"
            },
            "property": {
              "type": "Identifier",
              "start": 3479,
              "end": 3486,
              "loc": {
                "start": {
                  "line": 162,
                  "column": 27
                },
                "end": {
                  "line": 162,
                  "column": 34
                },
                "identifierName": "NEWLINE"
              },
              "name": "NEWLINE"
            },
            "computed": false
          }
        }
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 3489,
        "end": 3506,
        "loc": {
          "start": {
            "line": 164,
            "column": 0
          },
          "end": {
            "line": 164,
            "column": 17
          }
        },
        "declaration": null,
        "specifiers": [
          {
            "type": "ExportSpecifier",
            "start": 3498,
            "end": 3503,
            "loc": {
              "start": {
                "line": 164,
                "column": 9
              },
              "end": {
                "line": 164,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 3498,
              "end": 3503,
              "loc": {
                "start": {
                  "line": 164,
                  "column": 9
                },
                "end": {
                  "line": 164,
                  "column": 14
                },
                "identifierName": "Lexer"
              },
              "name": "Lexer"
            },
            "exported": {
              "type": "Identifier",
              "start": 3498,
              "end": 3503,
              "loc": {
                "start": {
                  "line": 164,
                  "column": 9
                },
                "end": {
                  "line": 164,
                  "column": 14
                },
                "identifierName": "Lexer"
              },
              "name": "Lexer"
            }
          }
        ],
        "source": null
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 3489,
        "end": 3506,
        "loc": {
          "start": {
            "line": 164,
            "column": 0
          },
          "end": {
            "line": 164,
            "column": 17
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 64,
          "end": 3261,
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 149,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 70,
            "end": 75,
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 11
              },
              "identifierName": "Lexer"
            },
            "name": "Lexer"
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 76,
            "end": 3261,
            "loc": {
              "start": {
                "line": 4,
                "column": 12
              },
              "end": {
                "line": 149,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 80,
                "end": 142,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 2
                  },
                  "end": {
                    "line": 8,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 80,
                  "end": 91,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 2
                    },
                    "end": {
                      "line": 5,
                      "column": 13
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 94,
                  "end": 142,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 16
                    },
                    "end": {
                      "line": 8,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 100,
                      "end": 119,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 4
                        },
                        "end": {
                          "line": 6,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 100,
                        "end": 118,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 4
                          },
                          "end": {
                            "line": 6,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 100,
                          "end": 114,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 4
                            },
                            "end": {
                              "line": 6,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 100,
                            "end": 104,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 4
                              },
                              "end": {
                                "line": 6,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 105,
                            "end": 114,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 9
                              },
                              "end": {
                                "line": 6,
                                "column": 18
                              },
                              "identifierName": "lastIndex"
                            },
                            "name": "lastIndex"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 117,
                          "end": 118,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 21
                            },
                            "end": {
                              "line": 6,
                              "column": 22
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 124,
                      "end": 138,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 4
                        },
                        "end": {
                          "line": 7,
                          "column": 18
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 124,
                        "end": 137,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 4
                          },
                          "end": {
                            "line": 7,
                            "column": 17
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 124,
                          "end": 133,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 4
                            },
                            "end": {
                              "line": 7,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 124,
                            "end": 128,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 4
                              },
                              "end": {
                                "line": 7,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 129,
                            "end": 133,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 9
                              },
                              "end": {
                                "line": 7,
                                "column": 13
                              },
                              "identifierName": "line"
                            },
                            "name": "line"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 136,
                          "end": 137,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 16
                            },
                            "end": {
                              "line": 7,
                              "column": 17
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 146,
                "end": 261,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 2
                  },
                  "end": {
                    "line": 17,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 146,
                  "end": 156,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 2
                    },
                    "end": {
                      "line": 10,
                      "column": 12
                    },
                    "identifierName": "setProgram"
                  },
                  "name": "setProgram"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 157,
                    "end": 164,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 13
                      },
                      "end": {
                        "line": 10,
                        "column": 20
                      },
                      "identifierName": "program"
                    },
                    "name": "program"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 166,
                  "end": 261,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 22
                    },
                    "end": {
                      "line": 17,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 172,
                      "end": 195,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 11,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 172,
                        "end": 194,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 26
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 172,
                          "end": 184,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 172,
                            "end": 176,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 4
                              },
                              "end": {
                                "line": 11,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 177,
                            "end": 184,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 9
                              },
                              "end": {
                                "line": 11,
                                "column": 16
                              },
                              "identifierName": "program"
                            },
                            "name": "program"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 187,
                          "end": 194,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 19
                            },
                            "end": {
                              "line": 11,
                              "column": 26
                            },
                            "identifierName": "program"
                          },
                          "name": "program"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 201,
                      "end": 220,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 4
                        },
                        "end": {
                          "line": 13,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 201,
                        "end": 219,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 4
                          },
                          "end": {
                            "line": 13,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 201,
                          "end": 215,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 4
                            },
                            "end": {
                              "line": 13,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 201,
                            "end": 205,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 4
                              },
                              "end": {
                                "line": 13,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 206,
                            "end": 215,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 9
                              },
                              "end": {
                                "line": 13,
                                "column": 18
                              },
                              "identifierName": "lastIndex"
                            },
                            "name": "lastIndex"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 218,
                          "end": 219,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 21
                            },
                            "end": {
                              "line": 13,
                              "column": 22
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 225,
                      "end": 239,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 4
                        },
                        "end": {
                          "line": 14,
                          "column": 18
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 225,
                        "end": 238,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 14,
                            "column": 17
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 225,
                          "end": 234,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 225,
                            "end": 229,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 4
                              },
                              "end": {
                                "line": 14,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 230,
                            "end": 234,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 9
                              },
                              "end": {
                                "line": 14,
                                "column": 13
                              },
                              "identifierName": "line"
                            },
                            "name": "line"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 237,
                          "end": 238,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 16
                            },
                            "end": {
                              "line": 14,
                              "column": 17
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 245,
                      "end": 257,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 16
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 252,
                        "end": 256,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 11
                          },
                          "end": {
                            "line": 16,
                            "column": 15
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 265,
                "end": 349,
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 2
                  },
                  "end": {
                    "line": 23,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 265,
                  "end": 273,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 2
                    },
                    "end": {
                      "line": 19,
                      "column": 10
                    },
                    "identifierName": "tokenize"
                  },
                  "name": "tokenize"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 274,
                    "end": 281,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 11
                      },
                      "end": {
                        "line": 19,
                        "column": 18
                      },
                      "identifierName": "program"
                    },
                    "name": "program"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 283,
                  "end": 349,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 20
                    },
                    "end": {
                      "line": 23,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 289,
                      "end": 314,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 289,
                        "end": 313,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 289,
                          "end": 304,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 289,
                            "end": 293,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 4
                              },
                              "end": {
                                "line": 20,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 294,
                            "end": 304,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 9
                              },
                              "end": {
                                "line": 20,
                                "column": 19
                              },
                              "identifierName": "setProgram"
                            },
                            "name": "setProgram"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 305,
                            "end": 312,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 20
                              },
                              "end": {
                                "line": 20,
                                "column": 27
                              },
                              "identifierName": "program"
                            },
                            "name": "program"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 320,
                      "end": 345,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 29
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 327,
                        "end": 344,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 11
                          },
                          "end": {
                            "line": 22,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 327,
                          "end": 342,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 11
                            },
                            "end": {
                              "line": 22,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 327,
                            "end": 331,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 11
                              },
                              "end": {
                                "line": 22,
                                "column": 15
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 332,
                            "end": 342,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 16
                              },
                              "end": {
                                "line": 22,
                                "column": 26
                              },
                              "identifierName": "_getTokens"
                            },
                            "name": "_getTokens"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 353,
                "end": 425,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 2
                  },
                  "end": {
                    "line": 27,
                    "column": 3
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 360,
                  "end": 368,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 9
                    },
                    "end": {
                      "line": 25,
                      "column": 17
                    },
                    "identifierName": "tokenize"
                  },
                  "name": "tokenize"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 369,
                    "end": 376,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 18
                      },
                      "end": {
                        "line": 25,
                        "column": 25
                      },
                      "identifierName": "program"
                    },
                    "name": "program"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 378,
                  "end": 425,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 27
                    },
                    "end": {
                      "line": 27,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 384,
                      "end": 421,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 4
                        },
                        "end": {
                          "line": 26,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 391,
                        "end": 420,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 11
                          },
                          "end": {
                            "line": 26,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 391,
                          "end": 411,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 11
                            },
                            "end": {
                              "line": 26,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "NewExpression",
                            "start": 391,
                            "end": 402,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 11
                              },
                              "end": {
                                "line": 26,
                                "column": 22
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 395,
                              "end": 400,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 15
                                },
                                "end": {
                                  "line": 26,
                                  "column": 20
                                },
                                "identifierName": "Lexer"
                              },
                              "name": "Lexer"
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 403,
                            "end": 411,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 23
                              },
                              "end": {
                                "line": 26,
                                "column": 31
                              },
                              "identifierName": "tokenize"
                            },
                            "name": "tokenize"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 412,
                            "end": 419,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 32
                              },
                              "end": {
                                "line": 26,
                                "column": 39
                              },
                              "identifierName": "program"
                            },
                            "name": "program"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 429,
                "end": 545,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 2
                  },
                  "end": {
                    "line": 33,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 429,
                  "end": 445,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 2
                    },
                    "end": {
                      "line": 29,
                      "column": 18
                    },
                    "identifierName": "tokenizeFromFile"
                  },
                  "name": "tokenizeFromFile"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 446,
                    "end": 450,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 19
                      },
                      "end": {
                        "line": 29,
                        "column": 23
                      },
                      "identifierName": "file"
                    },
                    "name": "file"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 452,
                  "end": 545,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 25
                    },
                    "end": {
                      "line": 33,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 458,
                      "end": 505,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 464,
                          "end": 504,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 10
                            },
                            "end": {
                              "line": 30,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 464,
                            "end": 471,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 10
                              },
                              "end": {
                                "line": 30,
                                "column": 17
                              },
                              "identifierName": "program"
                            },
                            "name": "program"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 474,
                            "end": 504,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 20
                              },
                              "end": {
                                "line": 30,
                                "column": 50
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 474,
                              "end": 489,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 20
                                },
                                "end": {
                                  "line": 30,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 474,
                                "end": 476,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 22
                                  },
                                  "identifierName": "fs"
                                },
                                "name": "fs"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 477,
                                "end": 489,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 35
                                  },
                                  "identifierName": "readFileSync"
                                },
                                "name": "readFileSync"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 490,
                                "end": 494,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 40
                                  },
                                  "identifierName": "file"
                                },
                                "name": "file"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 496,
                                "end": 503,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 49
                                  }
                                },
                                "extra": {
                                  "rawValue": "utf-8",
                                  "raw": "\"utf-8\""
                                },
                                "value": "utf-8"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 511,
                      "end": 541,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 4
                        },
                        "end": {
                          "line": 32,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 518,
                        "end": 540,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 11
                          },
                          "end": {
                            "line": 32,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 518,
                          "end": 531,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 11
                            },
                            "end": {
                              "line": 32,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 518,
                            "end": 522,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 11
                              },
                              "end": {
                                "line": 32,
                                "column": 15
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 523,
                            "end": 531,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 16
                              },
                              "end": {
                                "line": 32,
                                "column": 24
                              },
                              "identifierName": "tokenize"
                            },
                            "name": "tokenize"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 532,
                            "end": 539,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 25
                              },
                              "end": {
                                "line": 32,
                                "column": 32
                              },
                              "identifierName": "program"
                            },
                            "name": "program"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 549,
                "end": 631,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 2
                  },
                  "end": {
                    "line": 37,
                    "column": 3
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 556,
                  "end": 572,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 9
                    },
                    "end": {
                      "line": 35,
                      "column": 25
                    },
                    "identifierName": "tokenizeFromFile"
                  },
                  "name": "tokenizeFromFile"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 573,
                    "end": 577,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 26
                      },
                      "end": {
                        "line": 35,
                        "column": 30
                      },
                      "identifierName": "file"
                    },
                    "name": "file"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 579,
                  "end": 631,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 32
                    },
                    "end": {
                      "line": 37,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 585,
                      "end": 627,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 4
                        },
                        "end": {
                          "line": 36,
                          "column": 46
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 592,
                        "end": 626,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 11
                          },
                          "end": {
                            "line": 36,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 592,
                          "end": 620,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 11
                            },
                            "end": {
                              "line": 36,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "NewExpression",
                            "start": 592,
                            "end": 603,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 11
                              },
                              "end": {
                                "line": 36,
                                "column": 22
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 596,
                              "end": 601,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 15
                                },
                                "end": {
                                  "line": 36,
                                  "column": 20
                                },
                                "identifierName": "Lexer"
                              },
                              "name": "Lexer"
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 604,
                            "end": 620,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 23
                              },
                              "end": {
                                "line": 36,
                                "column": 39
                              },
                              "identifierName": "tokenizeFromFile"
                            },
                            "name": "tokenizeFromFile"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 621,
                            "end": 625,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 40
                              },
                              "end": {
                                "line": 36,
                                "column": 44
                              },
                              "identifierName": "file"
                            },
                            "name": "file"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 635,
                "end": 692,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 2
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 642,
                  "end": 651,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 9
                    },
                    "end": {
                      "line": 39,
                      "column": 18
                    },
                    "identifierName": "setTokens"
                  },
                  "name": "setTokens"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 652,
                    "end": 658,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 19
                      },
                      "end": {
                        "line": 39,
                        "column": 25
                      },
                      "identifierName": "tokens"
                    },
                    "name": "tokens"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 660,
                  "end": 692,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 27
                    },
                    "end": {
                      "line": 41,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 666,
                      "end": 688,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 666,
                        "end": 687,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 666,
                          "end": 678,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 666,
                            "end": 671,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 9
                              },
                              "identifierName": "Lexer"
                            },
                            "name": "Lexer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 672,
                            "end": 678,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 10
                              },
                              "end": {
                                "line": 40,
                                "column": 16
                              },
                              "identifierName": "TOKENS"
                            },
                            "name": "TOKENS"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 681,
                          "end": 687,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 19
                            },
                            "end": {
                              "line": 40,
                              "column": 25
                            },
                            "identifierName": "tokens"
                          },
                          "name": "tokens"
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 696,
                "end": 986,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 2
                  },
                  "end": {
                    "line": 57,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 696,
                  "end": 709,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 43,
                      "column": 15
                    },
                    "identifierName": "getParBalance"
                  },
                  "name": "getParBalance"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 710,
                    "end": 717,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 16
                      },
                      "end": {
                        "line": 43,
                        "column": 23
                      },
                      "identifierName": "program"
                    },
                    "name": "program"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 719,
                  "end": 986,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 25
                    },
                    "end": {
                      "line": 57,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 725,
                      "end": 750,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 4
                        },
                        "end": {
                          "line": 44,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 725,
                        "end": 749,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 4
                          },
                          "end": {
                            "line": 44,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 725,
                          "end": 740,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 4
                            },
                            "end": {
                              "line": 44,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 725,
                            "end": 729,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 4
                              },
                              "end": {
                                "line": 44,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 730,
                            "end": 740,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 9
                              },
                              "end": {
                                "line": 44,
                                "column": 19
                              },
                              "identifierName": "setProgram"
                            },
                            "name": "setProgram"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 741,
                            "end": 748,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 20
                              },
                              "end": {
                                "line": 44,
                                "column": 27
                              },
                              "identifierName": "program"
                            },
                            "name": "program"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 756,
                      "end": 770,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 46,
                          "column": 18
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 760,
                          "end": 769,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 17
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 760,
                            "end": 765,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 13
                              },
                              "identifierName": "stack"
                            },
                            "name": "stack"
                          },
                          "init": {
                            "type": "NumericLiteral",
                            "start": 768,
                            "end": 769,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 16
                              },
                              "end": {
                                "line": 46,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 775,
                      "end": 808,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 4
                        },
                        "end": {
                          "line": 47,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 781,
                          "end": 807,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 10
                            },
                            "end": {
                              "line": 47,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 781,
                            "end": 787,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 10
                              },
                              "end": {
                                "line": 47,
                                "column": 16
                              },
                              "identifierName": "tokens"
                            },
                            "name": "tokens"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 790,
                            "end": 807,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 19
                              },
                              "end": {
                                "line": 47,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 790,
                              "end": 805,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 19
                                },
                                "end": {
                                  "line": 47,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 790,
                                "end": 794,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 795,
                                "end": 805,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 34
                                  },
                                  "identifierName": "_getTokens"
                                },
                                "name": "_getTokens"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 813,
                      "end": 963,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 4
                        },
                        "end": {
                          "line": 54,
                          "column": 5
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 818,
                        "end": 829,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 9
                          },
                          "end": {
                            "line": 48,
                            "column": 20
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 824,
                            "end": 829,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 15
                              },
                              "end": {
                                "line": 48,
                                "column": 20
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 824,
                              "end": 829,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 15
                                },
                                "end": {
                                  "line": 48,
                                  "column": 20
                                },
                                "identifierName": "token"
                              },
                              "name": "token"
                            },
                            "init": null
                          }
                        ],
                        "kind": "const"
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 833,
                        "end": 839,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 24
                          },
                          "end": {
                            "line": 48,
                            "column": 30
                          },
                          "identifierName": "tokens"
                        },
                        "name": "tokens"
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 841,
                        "end": 963,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 32
                          },
                          "end": {
                            "line": 54,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 849,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 6
                              },
                              "end": {
                                "line": 53,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 853,
                              "end": 872,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 10
                                },
                                "end": {
                                  "line": 49,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 853,
                                "end": 863,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 853,
                                  "end": 858,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 15
                                    },
                                    "identifierName": "token"
                                  },
                                  "name": "token"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 859,
                                  "end": 863,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 20
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": false
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 868,
                                "end": 872,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 29
                                  }
                                },
                                "extra": {
                                  "rawValue": "LP",
                                  "raw": "\"LP\""
                                },
                                "value": "LP"
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 874,
                              "end": 900,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 31
                                },
                                "end": {
                                  "line": 51,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 884,
                                  "end": 892,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 16
                                    }
                                  },
                                  "expression": {
                                    "type": "UpdateExpression",
                                    "start": 884,
                                    "end": 891,
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 15
                                      }
                                    },
                                    "operator": "++",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 886,
                                      "end": 891,
                                      "loc": {
                                        "start": {
                                          "line": 50,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 15
                                        },
                                        "identifierName": "stack"
                                      },
                                      "name": "stack"
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "start": 906,
                              "end": 957,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 13
                                },
                                "end": {
                                  "line": 53,
                                  "column": 7
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 910,
                                "end": 929,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 36
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 910,
                                  "end": 920,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 910,
                                    "end": 915,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 22
                                      },
                                      "identifierName": "token"
                                    },
                                    "name": "token"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 916,
                                    "end": 920,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 27
                                      },
                                      "identifierName": "type"
                                    },
                                    "name": "type"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 925,
                                  "end": 929,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 36
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "RP",
                                    "raw": "\"RP\""
                                  },
                                  "value": "RP"
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 931,
                                "end": 957,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 7
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 941,
                                    "end": 949,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 16
                                      }
                                    },
                                    "expression": {
                                      "type": "UpdateExpression",
                                      "start": 941,
                                      "end": 948,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 15
                                        }
                                      },
                                      "operator": "--",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Identifier",
                                        "start": 943,
                                        "end": 948,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 15
                                          },
                                          "identifierName": "stack"
                                        },
                                        "name": "stack"
                                      },
                                      "extra": {
                                        "parenthesizedArgument": false
                                      }
                                    }
                                  }
                                ],
                                "directives": []
                              },
                              "alternate": null
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 969,
                      "end": 982,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 4
                        },
                        "end": {
                          "line": 56,
                          "column": 17
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 976,
                        "end": 981,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 11
                          },
                          "end": {
                            "line": 56,
                            "column": 16
                          },
                          "identifierName": "stack"
                        },
                        "name": "stack"
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 990,
                "end": 1232,
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 2
                  },
                  "end": {
                    "line": 70,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 990,
                  "end": 1000,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 2
                    },
                    "end": {
                      "line": 59,
                      "column": 12
                    },
                    "identifierName": "_getTokens"
                  },
                  "name": "_getTokens"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1003,
                  "end": 1232,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 15
                    },
                    "end": {
                      "line": 70,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1009,
                      "end": 1027,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 4
                        },
                        "end": {
                          "line": 60,
                          "column": 22
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1015,
                          "end": 1026,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 10
                            },
                            "end": {
                              "line": 60,
                              "column": 21
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1015,
                            "end": 1021,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 10
                              },
                              "end": {
                                "line": 60,
                                "column": 16
                              },
                              "identifierName": "tokens"
                            },
                            "name": "tokens"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 1024,
                            "end": 1026,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 19
                              },
                              "end": {
                                "line": 60,
                                "column": 21
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1033,
                      "end": 1069,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 4
                        },
                        "end": {
                          "line": 62,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1037,
                          "end": 1068,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1037,
                            "end": 1049,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 8
                              },
                              "end": {
                                "line": 62,
                                "column": 20
                              },
                              "identifierName": "currentToken"
                            },
                            "name": "currentToken"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1052,
                            "end": 1068,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 23
                              },
                              "end": {
                                "line": 62,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1052,
                              "end": 1066,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 23
                                },
                                "end": {
                                  "line": 62,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1052,
                                "end": 1056,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1057,
                                "end": 1066,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 37
                                  },
                                  "identifierName": "_getToken"
                                },
                                "name": "_getToken"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "WhileStatement",
                      "start": 1074,
                      "end": 1184,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 4
                        },
                        "end": {
                          "line": 67,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1081,
                        "end": 1102,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 11
                          },
                          "end": {
                            "line": 63,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1081,
                          "end": 1093,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 11
                            },
                            "end": {
                              "line": 63,
                              "column": 23
                            },
                            "identifierName": "currentToken"
                          },
                          "name": "currentToken"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "NullLiteral",
                          "start": 1098,
                          "end": 1102,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 28
                            },
                            "end": {
                              "line": 63,
                              "column": 32
                            }
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 1104,
                        "end": 1184,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 34
                          },
                          "end": {
                            "line": 67,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 1112,
                            "end": 1138,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1112,
                              "end": 1137,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 6
                                },
                                "end": {
                                  "line": 64,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1112,
                                "end": 1123,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 17
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1112,
                                  "end": 1118,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 12
                                    },
                                    "identifierName": "tokens"
                                  },
                                  "name": "tokens"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1119,
                                  "end": 1123,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 17
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1124,
                                  "end": 1136,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 30
                                    },
                                    "identifierName": "currentToken"
                                  },
                                  "name": "currentToken"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1146,
                            "end": 1178,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1146,
                              "end": 1177,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 6
                                },
                                "end": {
                                  "line": 66,
                                  "column": 37
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 1146,
                                "end": 1158,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 18
                                  },
                                  "identifierName": "currentToken"
                                },
                                "name": "currentToken"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 1161,
                                "end": 1177,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1161,
                                  "end": 1175,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1161,
                                    "end": 1165,
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1166,
                                    "end": 1175,
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 35
                                      },
                                      "identifierName": "_getToken"
                                    },
                                    "name": "_getToken"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1190,
                      "end": 1228,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 4
                        },
                        "end": {
                          "line": 69,
                          "column": 42
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1197,
                        "end": 1227,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 11
                          },
                          "end": {
                            "line": 69,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1197,
                          "end": 1219,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 11
                            },
                            "end": {
                              "line": 69,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1197,
                            "end": 1201,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 11
                              },
                              "end": {
                                "line": 69,
                                "column": 15
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1202,
                            "end": 1219,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 16
                              },
                              "end": {
                                "line": 69,
                                "column": 33
                              },
                              "identifierName": "__transformTokens"
                            },
                            "name": "__transformTokens"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1220,
                            "end": 1226,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 34
                              },
                              "end": {
                                "line": 69,
                                "column": 40
                              },
                              "identifierName": "tokens"
                            },
                            "name": "tokens"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1236,
                "end": 2132,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 2
                  },
                  "end": {
                    "line": 104,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1236,
                  "end": 1245,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 2
                    },
                    "end": {
                      "line": 72,
                      "column": 11
                    },
                    "identifierName": "_getToken"
                  },
                  "name": "_getToken"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1248,
                  "end": 2132,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 14
                    },
                    "end": {
                      "line": 104,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1312,
                      "end": 1339,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 4
                        },
                        "end": {
                          "line": 74,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1312,
                        "end": 1338,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1312,
                          "end": 1336,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1312,
                            "end": 1316,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 4
                              },
                              "end": {
                                "line": 74,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1317,
                            "end": 1336,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 9
                              },
                              "end": {
                                "line": 74,
                                "column": 28
                              },
                              "identifierName": "__updateLastIndices"
                            },
                            "name": "__updateLastIndices"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Update lastIndex property for each expression used",
                          "start": 1254,
                          "end": 1307,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 73,
                              "column": 57
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Match and ignore whitespaces and newlines",
                          "start": 1345,
                          "end": 1389,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 4
                            },
                            "end": {
                              "line": 76,
                              "column": 48
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1394,
                      "end": 1444,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 4
                        },
                        "end": {
                          "line": 77,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1398,
                          "end": 1443,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1398,
                            "end": 1409,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 8
                              },
                              "end": {
                                "line": 77,
                                "column": 19
                              },
                              "identifierName": "whitespaces"
                            },
                            "name": "whitespaces",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1412,
                            "end": 1443,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 22
                              },
                              "end": {
                                "line": 77,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1412,
                              "end": 1429,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 22
                                },
                                "end": {
                                  "line": 77,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1412,
                                "end": 1424,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1412,
                                  "end": 1417,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 27
                                    },
                                    "identifierName": "Lexer"
                                  },
                                  "name": "Lexer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1418,
                                  "end": 1424,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 34
                                    },
                                    "identifierName": "WHITES"
                                  },
                                  "name": "WHITES"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1425,
                                "end": 1429,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 39
                                  },
                                  "identifierName": "exec"
                                },
                                "name": "exec"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 1430,
                                "end": 1442,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1430,
                                  "end": 1434,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 44
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1435,
                                  "end": 1442,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 52
                                    },
                                    "identifierName": "program"
                                  },
                                  "name": "program"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Match and ignore whitespaces and newlines",
                          "start": 1345,
                          "end": 1389,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 4
                            },
                            "end": {
                              "line": 76,
                              "column": 48
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 1449,
                      "end": 1641,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 4
                        },
                        "end": {
                          "line": 85,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1453,
                        "end": 1473,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 28
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1453,
                          "end": 1464,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 19
                            },
                            "identifierName": "whitespaces"
                          },
                          "name": "whitespaces"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "NullLiteral",
                          "start": 1469,
                          "end": 1473,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 24
                            },
                            "end": {
                              "line": 78,
                              "column": 28
                            }
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1475,
                        "end": 1641,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 30
                          },
                          "end": {
                            "line": 85,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 1483,
                            "end": 1556,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 6
                              },
                              "end": {
                                "line": 81,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 1487,
                              "end": 1524,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 10
                                },
                                "end": {
                                  "line": 79,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1487,
                                "end": 1505,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 1487,
                                  "end": 1500,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1487,
                                    "end": 1492,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 15
                                      },
                                      "identifierName": "Lexer"
                                    },
                                    "name": "Lexer"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1493,
                                    "end": 1500,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 23
                                      },
                                      "identifierName": "NEWLINE"
                                    },
                                    "name": "NEWLINE"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1501,
                                  "end": 1505,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 28
                                    },
                                    "identifierName": "exec"
                                  },
                                  "name": "exec"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1506,
                                  "end": 1523,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1506,
                                    "end": 1517,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 40
                                      },
                                      "identifierName": "whitespaces"
                                    },
                                    "name": "whitespaces"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1518,
                                    "end": 1523,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 46
                                      },
                                      "identifierName": "value"
                                    },
                                    "name": "value"
                                  },
                                  "computed": false
                                }
                              ]
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 1526,
                              "end": 1556,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 49
                                },
                                "end": {
                                  "line": 81,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1536,
                                  "end": 1548,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 20
                                    }
                                  },
                                  "expression": {
                                    "type": "UpdateExpression",
                                    "start": 1536,
                                    "end": 1547,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 19
                                      }
                                    },
                                    "operator": "++",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 1538,
                                      "end": 1547,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 19
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1538,
                                        "end": 1542,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 14
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1543,
                                        "end": 1547,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 19
                                          },
                                          "identifierName": "line"
                                        },
                                        "name": "line"
                                      },
                                      "computed": false
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1563,
                            "end": 1603,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 6
                              },
                              "end": {
                                "line": 82,
                                "column": 46
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1563,
                              "end": 1602,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 6
                                },
                                "end": {
                                  "line": 82,
                                  "column": 45
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 1563,
                                "end": 1577,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1563,
                                  "end": 1567,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 10
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1568,
                                  "end": 1577,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 20
                                    },
                                    "identifierName": "lastIndex"
                                  },
                                  "name": "lastIndex"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 1580,
                                "end": 1602,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 1580,
                                  "end": 1592,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1580,
                                    "end": 1585,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 28
                                      },
                                      "identifierName": "Lexer"
                                    },
                                    "name": "Lexer"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1586,
                                    "end": 1592,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 35
                                      },
                                      "identifierName": "WHITES"
                                    },
                                    "name": "WHITES"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1593,
                                  "end": 1602,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 45
                                    },
                                    "identifierName": "lastIndex"
                                  },
                                  "name": "lastIndex"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 1611,
                            "end": 1635,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 6
                              },
                              "end": {
                                "line": 84,
                                "column": 30
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 1618,
                              "end": 1634,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 13
                                },
                                "end": {
                                  "line": 84,
                                  "column": 29
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1618,
                                "end": 1632,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1618,
                                  "end": 1622,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 17
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1623,
                                  "end": 1632,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 27
                                    },
                                    "identifierName": "_getToken"
                                  },
                                  "name": "_getToken"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Iterate through each regex",
                          "start": 1647,
                          "end": 1676,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 4
                            },
                            "end": {
                              "line": 87,
                              "column": 33
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1681,
                      "end": 1698,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 4
                        },
                        "end": {
                          "line": 88,
                          "column": 21
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1685,
                          "end": 1697,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1685,
                            "end": 1690,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 8
                              },
                              "end": {
                                "line": 88,
                                "column": 13
                              },
                              "identifierName": "token"
                            },
                            "name": "token",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NullLiteral",
                            "start": 1693,
                            "end": 1697,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 16
                              },
                              "end": {
                                "line": 88,
                                "column": 20
                              }
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Iterate through each regex",
                          "start": 1647,
                          "end": 1676,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 4
                            },
                            "end": {
                              "line": 87,
                              "column": 33
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 1703,
                      "end": 2046,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 4
                        },
                        "end": {
                          "line": 100,
                          "column": 5
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 1708,
                        "end": 1717,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 9
                          },
                          "end": {
                            "line": 89,
                            "column": 18
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1712,
                            "end": 1717,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 13
                              },
                              "end": {
                                "line": 89,
                                "column": 18
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1712,
                              "end": 1713,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 13
                                },
                                "end": {
                                  "line": 89,
                                  "column": 14
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 1716,
                              "end": 1717,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 17
                                },
                                "end": {
                                  "line": 89,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1719,
                        "end": 1742,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 20
                          },
                          "end": {
                            "line": 89,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1719,
                          "end": 1720,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 20
                            },
                            "end": {
                              "line": 89,
                              "column": 21
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1723,
                          "end": 1742,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 24
                            },
                            "end": {
                              "line": 89,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1723,
                            "end": 1735,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 24
                              },
                              "end": {
                                "line": 89,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1723,
                              "end": 1728,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 24
                                },
                                "end": {
                                  "line": 89,
                                  "column": 29
                                },
                                "identifierName": "Lexer"
                              },
                              "name": "Lexer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1729,
                              "end": 1735,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 30
                                },
                                "end": {
                                  "line": 89,
                                  "column": 36
                                },
                                "identifierName": "TOKENS"
                              },
                              "name": "TOKENS"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1736,
                            "end": 1742,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 37
                              },
                              "end": {
                                "line": 89,
                                "column": 43
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 1744,
                        "end": 1747,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 45
                          },
                          "end": {
                            "line": 89,
                            "column": 48
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 1746,
                          "end": 1747,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 47
                            },
                            "end": {
                              "line": 89,
                              "column": 48
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 1749,
                        "end": 2046,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 50
                          },
                          "end": {
                            "line": 100,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1757,
                            "end": 1804,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 6
                              },
                              "end": {
                                "line": 90,
                                "column": 53
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1761,
                                "end": 1803,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 52
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1761,
                                  "end": 1766,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 15
                                    },
                                    "identifierName": "match"
                                  },
                                  "name": "match"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 1769,
                                  "end": 1803,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 52
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1769,
                                    "end": 1789,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1769,
                                      "end": 1784,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1769,
                                        "end": 1781,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1769,
                                          "end": 1774,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 23
                                            },
                                            "identifierName": "Lexer"
                                          },
                                          "name": "Lexer"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1775,
                                          "end": 1781,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 30
                                            },
                                            "identifierName": "TOKENS"
                                          },
                                          "name": "TOKENS"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1782,
                                        "end": 1783,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 32
                                          },
                                          "identifierName": "i"
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1785,
                                      "end": 1789,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 38
                                        },
                                        "identifierName": "exec"
                                      },
                                      "name": "exec"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 1790,
                                      "end": 1802,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1790,
                                        "end": 1794,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1795,
                                        "end": 1802,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 51
                                          },
                                          "identifierName": "program"
                                        },
                                        "name": "program"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let",
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " When matching a expression, add the current line and set the token",
                                "start": 1812,
                                "end": 1881,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 75
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 1888,
                            "end": 2040,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 6
                              },
                              "end": {
                                "line": 99,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 1892,
                              "end": 1906,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 10
                                },
                                "end": {
                                  "line": 93,
                                  "column": 24
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 1892,
                                "end": 1897,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 15
                                  },
                                  "identifierName": "match"
                                },
                                "name": "match",
                                "leadingComments": null
                              },
                              "operator": "!==",
                              "right": {
                                "type": "NullLiteral",
                                "start": 1902,
                                "end": 1906,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 24
                                  }
                                }
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 1908,
                              "end": 2040,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 26
                                },
                                "end": {
                                  "line": 99,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1918,
                                  "end": 1941,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 31
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 1918,
                                    "end": 1940,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 30
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 1918,
                                      "end": 1928,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 18
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1918,
                                        "end": 1923,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 13
                                          },
                                          "identifierName": "match"
                                        },
                                        "name": "match"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1924,
                                        "end": 1928,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 18
                                          },
                                          "identifierName": "line"
                                        },
                                        "name": "line"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 1931,
                                      "end": 1940,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1931,
                                        "end": 1935,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1936,
                                        "end": 1940,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 30
                                          },
                                          "identifierName": "line"
                                        },
                                        "name": "line"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1950,
                                  "end": 1993,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 1950,
                                    "end": 1992,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 50
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 1950,
                                      "end": 1964,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 22
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1950,
                                        "end": 1954,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1955,
                                        "end": 1964,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 22
                                          },
                                          "identifierName": "lastIndex"
                                        },
                                        "name": "lastIndex"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 1967,
                                      "end": 1992,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1967,
                                        "end": 1982,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 1967,
                                          "end": 1979,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1967,
                                            "end": 1972,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 30
                                              },
                                              "identifierName": "Lexer"
                                            },
                                            "name": "Lexer"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1973,
                                            "end": 1979,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 37
                                              },
                                              "identifierName": "TOKENS"
                                            },
                                            "name": "TOKENS"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1980,
                                          "end": 1981,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 39
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1983,
                                        "end": 1992,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 50
                                          },
                                          "identifierName": "lastIndex"
                                        },
                                        "name": "lastIndex"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2003,
                                  "end": 2017,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 22
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2003,
                                    "end": 2016,
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 21
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2003,
                                      "end": 2008,
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 13
                                        },
                                        "identifierName": "token"
                                      },
                                      "name": "token"
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 2011,
                                      "end": 2016,
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 21
                                        },
                                        "identifierName": "match"
                                      },
                                      "name": "match"
                                    }
                                  }
                                },
                                {
                                  "type": "BreakStatement",
                                  "start": 2026,
                                  "end": 2032,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 14
                                    }
                                  },
                                  "label": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " When matching a expression, add the current line and set the token",
                                "start": 1812,
                                "end": 1881,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 75
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Return the matched token, or null if anything was found",
                          "start": 2052,
                          "end": 2110,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 102,
                              "column": 62
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2115,
                      "end": 2128,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 4
                        },
                        "end": {
                          "line": 103,
                          "column": 17
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 2122,
                        "end": 2127,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 11
                          },
                          "end": {
                            "line": 103,
                            "column": 16
                          },
                          "identifierName": "token"
                        },
                        "name": "token",
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Return the matched token, or null if anything was found",
                          "start": 2052,
                          "end": 2110,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 102,
                              "column": 62
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2136,
                "end": 3055,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 2
                  },
                  "end": {
                    "line": 140,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2136,
                  "end": 2153,
                  "loc": {
                    "start": {
                      "line": 106,
                      "column": 2
                    },
                    "end": {
                      "line": 106,
                      "column": 19
                    },
                    "identifierName": "__transformTokens"
                  },
                  "name": "__transformTokens"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2154,
                    "end": 2160,
                    "loc": {
                      "start": {
                        "line": 106,
                        "column": 20
                      },
                      "end": {
                        "line": 106,
                        "column": 26
                      },
                      "identifierName": "tokens"
                    },
                    "name": "tokens"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2162,
                  "end": 3055,
                  "loc": {
                    "start": {
                      "line": 106,
                      "column": 28
                    },
                    "end": {
                      "line": 140,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 2168,
                      "end": 3031,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 4
                        },
                        "end": {
                          "line": 137,
                          "column": 5
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 2173,
                        "end": 2182,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 9
                          },
                          "end": {
                            "line": 107,
                            "column": 18
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2177,
                            "end": 2182,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 13
                              },
                              "end": {
                                "line": 107,
                                "column": 18
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2177,
                              "end": 2178,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 13
                                },
                                "end": {
                                  "line": 107,
                                  "column": 14
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 2181,
                              "end": 2182,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 17
                                },
                                "end": {
                                  "line": 107,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2184,
                        "end": 2201,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 20
                          },
                          "end": {
                            "line": 107,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2184,
                          "end": 2185,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 20
                            },
                            "end": {
                              "line": 107,
                              "column": 21
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 2188,
                          "end": 2201,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 24
                            },
                            "end": {
                              "line": 107,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2188,
                            "end": 2194,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 24
                              },
                              "end": {
                                "line": 107,
                                "column": 30
                              },
                              "identifierName": "tokens"
                            },
                            "name": "tokens"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2195,
                            "end": 2201,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 31
                              },
                              "end": {
                                "line": 107,
                                "column": 37
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 2203,
                        "end": 2206,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 39
                          },
                          "end": {
                            "line": 107,
                            "column": 42
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 2205,
                          "end": 2206,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 41
                            },
                            "end": {
                              "line": 107,
                              "column": 42
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 2208,
                        "end": 3031,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 44
                          },
                          "end": {
                            "line": 137,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 2236,
                            "end": 2416,
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 6
                              },
                              "end": {
                                "line": 114,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 2240,
                              "end": 2265,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 10
                                },
                                "end": {
                                  "line": 109,
                                  "column": 35
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2240,
                                "end": 2254,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2240,
                                  "end": 2249,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 19
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2240,
                                    "end": 2246,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 16
                                      },
                                      "identifierName": "tokens"
                                    },
                                    "name": "tokens",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2247,
                                    "end": 2248,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 18
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2250,
                                  "end": 2254,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 24
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 2259,
                                "end": 2265,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 35
                                  }
                                },
                                "extra": {
                                  "rawValue": "WORD",
                                  "raw": "\"WORD\""
                                },
                                "value": "WORD"
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 2267,
                              "end": 2416,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 37
                                },
                                "end": {
                                  "line": 114,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2277,
                                  "end": 2309,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 40
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2283,
                                      "end": 2308,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 39
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2283,
                                        "end": 2292,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 23
                                          },
                                          "identifierName": "nextToken"
                                        },
                                        "name": "nextToken"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 2295,
                                        "end": 2308,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 39
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2295,
                                          "end": 2301,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 32
                                            },
                                            "identifierName": "tokens"
                                          },
                                          "name": "tokens"
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 2302,
                                          "end": 2307,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 38
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 2302,
                                            "end": 2303,
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 34
                                              },
                                              "identifierName": "i"
                                            },
                                            "name": "i"
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 2306,
                                            "end": 2307,
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 38
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          }
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "const"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2318,
                                  "end": 2408,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 113,
                                      "column": 9
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 2322,
                                    "end": 2358,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 48
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2322,
                                      "end": 2331,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 21
                                        },
                                        "identifierName": "nextToken"
                                      },
                                      "name": "nextToken"
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 2335,
                                      "end": 2358,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 48
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 2335,
                                        "end": 2350,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2335,
                                          "end": 2344,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 34
                                            },
                                            "identifierName": "nextToken"
                                          },
                                          "name": "nextToken"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2345,
                                          "end": 2350,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 40
                                            },
                                            "identifierName": "value"
                                          },
                                          "name": "value"
                                        },
                                        "computed": false
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 2355,
                                        "end": 2358,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 48
                                          }
                                        },
                                        "extra": {
                                          "rawValue": ":",
                                          "raw": "\":\""
                                        },
                                        "value": ":"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2360,
                                    "end": 2408,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 113,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2372,
                                        "end": 2398,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 36
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2372,
                                          "end": 2397,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 35
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2372,
                                            "end": 2386,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 24
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2372,
                                              "end": 2381,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 19
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2372,
                                                "end": 2378,
                                                "loc": {
                                                  "start": {
                                                    "line": 112,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 112,
                                                    "column": 16
                                                  },
                                                  "identifierName": "tokens"
                                                },
                                                "name": "tokens"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2379,
                                                "end": 2380,
                                                "loc": {
                                                  "start": {
                                                    "line": 112,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 112,
                                                    "column": 18
                                                  },
                                                  "identifierName": "i"
                                                },
                                                "name": "i"
                                              },
                                              "computed": true
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2382,
                                              "end": 2386,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 24
                                                },
                                                "identifierName": "type"
                                              },
                                              "name": "type"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 2389,
                                            "end": 2397,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 35
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "STRING",
                                              "raw": "\"STRING\""
                                            },
                                            "value": "STRING"
                                          }
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": [],
                              "trailingComments": null
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " x: => \"x\",",
                                "start": 2216,
                                "end": 2229,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 19
                                  }
                                }
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Replace dots with parentehsis",
                                "start": 2424,
                                "end": 2456,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 38
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " a.b   =>    a(\"b\")",
                                "start": 2463,
                                "end": 2484,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 27
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " a.b.c   =>  a(\"b\")(\"c\")",
                                "start": 2491,
                                "end": 2517,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 32
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " a.b(c, d)   => a(\"b\", c, d)",
                                "start": 2524,
                                "end": 2554,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 36
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 2561,
                            "end": 3025,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 6
                              },
                              "end": {
                                "line": 136,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 2565,
                              "end": 2615,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 10
                                },
                                "end": {
                                  "line": 120,
                                  "column": 60
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 2565,
                                "end": 2588,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 33
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 2565,
                                  "end": 2579,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2565,
                                    "end": 2574,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 19
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2565,
                                      "end": 2571,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 16
                                        },
                                        "identifierName": "tokens"
                                      },
                                      "name": "tokens",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2572,
                                      "end": 2573,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 18
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i"
                                    },
                                    "computed": true,
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2575,
                                    "end": 2579,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 24
                                      },
                                      "identifierName": "type"
                                    },
                                    "name": "type"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 2584,
                                  "end": 2588,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 33
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "LP",
                                    "raw": "\"LP\""
                                  },
                                  "value": "LP"
                                },
                                "leadingComments": null
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 2592,
                                "end": 2615,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 60
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 2592,
                                  "end": 2607,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2592,
                                    "end": 2601,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2592,
                                      "end": 2598,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 43
                                        },
                                        "identifierName": "tokens"
                                      },
                                      "name": "tokens"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2599,
                                      "end": 2600,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 45
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2602,
                                    "end": 2607,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 52
                                      },
                                      "identifierName": "value"
                                    },
                                    "name": "value"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 2612,
                                  "end": 2615,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 60
                                    }
                                  },
                                  "extra": {
                                    "rawValue": ".",
                                    "raw": "\".\""
                                  },
                                  "value": "."
                                }
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 2617,
                              "end": 3025,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 62
                                },
                                "end": {
                                  "line": 136,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2627,
                                  "end": 2649,
                                  "loc": {
                                    "start": {
                                      "line": 121,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 30
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2627,
                                    "end": 2648,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 29
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2627,
                                      "end": 2642,
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 23
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2627,
                                        "end": 2636,
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 17
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2627,
                                          "end": 2633,
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 14
                                            },
                                            "identifierName": "tokens"
                                          },
                                          "name": "tokens"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2634,
                                          "end": 2635,
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 16
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2637,
                                        "end": 2642,
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 23
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 2645,
                                      "end": 2648,
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 29
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "(",
                                        "raw": "\"(\""
                                      },
                                      "value": "("
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2659,
                                  "end": 2686,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 35
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2665,
                                      "end": 2685,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 34
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2665,
                                        "end": 2669,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 18
                                          },
                                          "identifierName": "expr"
                                        },
                                        "name": "expr"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 2672,
                                        "end": 2685,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2672,
                                          "end": 2678,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 27
                                            },
                                            "identifierName": "tokens"
                                          },
                                          "name": "tokens"
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 2679,
                                          "end": 2684,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 33
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 2679,
                                            "end": 2680,
                                            "loc": {
                                              "start": {
                                                "line": 123,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 123,
                                                "column": 29
                                              },
                                              "identifierName": "i"
                                            },
                                            "name": "i"
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 2683,
                                            "end": 2684,
                                            "loc": {
                                              "start": {
                                                "line": 123,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 123,
                                                "column": 33
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          }
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "const"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2695,
                                  "end": 2721,
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 34
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2701,
                                      "end": 2720,
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 33
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2701,
                                        "end": 2704,
                                        "loc": {
                                          "start": {
                                            "line": 124,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 124,
                                            "column": 17
                                          },
                                          "identifierName": "arg"
                                        },
                                        "name": "arg"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 2707,
                                        "end": 2720,
                                        "loc": {
                                          "start": {
                                            "line": 124,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 124,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2707,
                                          "end": 2713,
                                          "loc": {
                                            "start": {
                                              "line": 124,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 124,
                                              "column": 26
                                            },
                                            "identifierName": "tokens"
                                          },
                                          "name": "tokens"
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 2714,
                                          "end": 2719,
                                          "loc": {
                                            "start": {
                                              "line": 124,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 124,
                                              "column": 32
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 2714,
                                            "end": 2715,
                                            "loc": {
                                              "start": {
                                                "line": 124,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 124,
                                                "column": 28
                                              },
                                              "identifierName": "i"
                                            },
                                            "name": "i"
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 2718,
                                            "end": 2719,
                                            "loc": {
                                              "start": {
                                                "line": 124,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 124,
                                                "column": 32
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          }
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "const"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2731,
                                  "end": 2808,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 9
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 2735,
                                    "end": 2763,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 40
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2735,
                                      "end": 2739,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 16
                                        },
                                        "identifierName": "expr"
                                      },
                                      "name": "expr"
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 2743,
                                      "end": 2763,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 40
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 2743,
                                        "end": 2752,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2743,
                                          "end": 2747,
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 24
                                            },
                                            "identifierName": "expr"
                                          },
                                          "name": "expr"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2748,
                                          "end": 2752,
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 29
                                            },
                                            "identifierName": "type"
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 2757,
                                        "end": 2763,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 40
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "WORD",
                                          "raw": "\"WORD\""
                                        },
                                        "value": "WORD"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2765,
                                    "end": 2808,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2777,
                                        "end": 2798,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 31
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2777,
                                          "end": 2797,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 30
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2777,
                                            "end": 2786,
                                            "loc": {
                                              "start": {
                                                "line": 127,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 127,
                                                "column": 19
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2777,
                                              "end": 2781,
                                              "loc": {
                                                "start": {
                                                  "line": 127,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 127,
                                                  "column": 14
                                                },
                                                "identifierName": "expr"
                                              },
                                              "name": "expr"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2782,
                                              "end": 2786,
                                              "loc": {
                                                "start": {
                                                  "line": 127,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 127,
                                                  "column": 19
                                                },
                                                "identifierName": "type"
                                              },
                                              "name": "type"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 2789,
                                            "end": 2797,
                                            "loc": {
                                              "start": {
                                                "line": 127,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 127,
                                                "column": 30
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "STRING",
                                              "raw": "\"STRING\""
                                            },
                                            "value": "STRING"
                                          }
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2818,
                                  "end": 3017,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 9
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 2822,
                                    "end": 2867,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 57
                                      }
                                    },
                                    "left": {
                                      "type": "LogicalExpression",
                                      "start": 2822,
                                      "end": 2846,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 36
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 2822,
                                        "end": 2825,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 15
                                          },
                                          "identifierName": "arg"
                                        },
                                        "name": "arg"
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 2829,
                                        "end": 2846,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 36
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2829,
                                          "end": 2837,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 27
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2829,
                                            "end": 2832,
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 22
                                              },
                                              "identifierName": "arg"
                                            },
                                            "name": "arg"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2833,
                                            "end": 2837,
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 27
                                              },
                                              "identifierName": "type"
                                            },
                                            "name": "type"
                                          },
                                          "computed": false
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 2842,
                                          "end": 2846,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 36
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "LP",
                                            "raw": "\"LP\""
                                          },
                                          "value": "LP"
                                        }
                                      }
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 2850,
                                      "end": 2867,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 57
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 2850,
                                        "end": 2859,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2850,
                                          "end": 2853,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 43
                                            },
                                            "identifierName": "arg"
                                          },
                                          "name": "arg"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2854,
                                          "end": 2859,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 49
                                            },
                                            "identifierName": "value"
                                          },
                                          "name": "value"
                                        },
                                        "computed": false
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 2864,
                                        "end": 2867,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 57
                                          }
                                        },
                                        "extra": {
                                          "rawValue": ".",
                                          "raw": "\".\""
                                        },
                                        "value": "."
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2869,
                                    "end": 2937,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2881,
                                        "end": 2900,
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 29
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2881,
                                          "end": 2899,
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 28
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2881,
                                            "end": 2889,
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 18
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2881,
                                              "end": 2884,
                                              "loc": {
                                                "start": {
                                                  "line": 131,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 131,
                                                  "column": 13
                                                },
                                                "identifierName": "arg"
                                              },
                                              "name": "arg"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2885,
                                              "end": 2889,
                                              "loc": {
                                                "start": {
                                                  "line": 131,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 131,
                                                  "column": 18
                                                },
                                                "identifierName": "type"
                                              },
                                              "name": "type"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 2892,
                                            "end": 2899,
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 28
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "COMMA",
                                              "raw": "\"COMMA\""
                                            },
                                            "value": "COMMA"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2911,
                                        "end": 2927,
                                        "loc": {
                                          "start": {
                                            "line": 132,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 132,
                                            "column": 26
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2911,
                                          "end": 2926,
                                          "loc": {
                                            "start": {
                                              "line": 132,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 132,
                                              "column": 25
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2911,
                                            "end": 2920,
                                            "loc": {
                                              "start": {
                                                "line": 132,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 132,
                                                "column": 19
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2911,
                                              "end": 2914,
                                              "loc": {
                                                "start": {
                                                  "line": 132,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 132,
                                                  "column": 13
                                                },
                                                "identifierName": "arg"
                                              },
                                              "name": "arg"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2915,
                                              "end": 2920,
                                              "loc": {
                                                "start": {
                                                  "line": 132,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 132,
                                                  "column": 19
                                                },
                                                "identifierName": "value"
                                              },
                                              "name": "value"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 2923,
                                            "end": 2926,
                                            "loc": {
                                              "start": {
                                                "line": 132,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 132,
                                                "column": 25
                                              }
                                            },
                                            "extra": {
                                              "rawValue": ",",
                                              "raw": "\",\""
                                            },
                                            "value": ","
                                          }
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "start": 2943,
                                    "end": 3017,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2955,
                                        "end": 3007,
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 62
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 2955,
                                          "end": 3006,
                                          "loc": {
                                            "start": {
                                              "line": 134,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 134,
                                              "column": 61
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 2955,
                                            "end": 2968,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 23
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2955,
                                              "end": 2961,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 16
                                                },
                                                "identifierName": "tokens"
                                              },
                                              "name": "tokens"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2962,
                                              "end": 2968,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 23
                                                },
                                                "identifierName": "splice"
                                              },
                                              "name": "splice"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "BinaryExpression",
                                              "start": 2969,
                                              "end": 2974,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 29
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 2969,
                                                "end": 2970,
                                                "loc": {
                                                  "start": {
                                                    "line": 134,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 134,
                                                    "column": 25
                                                  },
                                                  "identifierName": "i"
                                                },
                                                "name": "i"
                                              },
                                              "operator": "+",
                                              "right": {
                                                "type": "NumericLiteral",
                                                "start": 2973,
                                                "end": 2974,
                                                "loc": {
                                                  "start": {
                                                    "line": 134,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 134,
                                                    "column": 29
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 2,
                                                  "raw": "2"
                                                },
                                                "value": 2
                                              }
                                            },
                                            {
                                              "type": "NumericLiteral",
                                              "start": 2976,
                                              "end": 2977,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 32
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "value": 0
                                            },
                                            {
                                              "type": "ObjectExpression",
                                              "start": 2979,
                                              "end": 3005,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 60
                                                }
                                              },
                                              "properties": [
                                                {
                                                  "type": "ObjectProperty",
                                                  "start": 2981,
                                                  "end": 2991,
                                                  "loc": {
                                                    "start": {
                                                      "line": 134,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 134,
                                                      "column": 46
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 2981,
                                                    "end": 2985,
                                                    "loc": {
                                                      "start": {
                                                        "line": 134,
                                                        "column": 36
                                                      },
                                                      "end": {
                                                        "line": 134,
                                                        "column": 40
                                                      },
                                                      "identifierName": "type"
                                                    },
                                                    "name": "type"
                                                  },
                                                  "value": {
                                                    "type": "StringLiteral",
                                                    "start": 2987,
                                                    "end": 2991,
                                                    "loc": {
                                                      "start": {
                                                        "line": 134,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 134,
                                                        "column": 46
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "RP",
                                                      "raw": "\"RP\""
                                                    },
                                                    "value": "RP"
                                                  }
                                                },
                                                {
                                                  "type": "ObjectProperty",
                                                  "start": 2993,
                                                  "end": 3003,
                                                  "loc": {
                                                    "start": {
                                                      "line": 134,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 134,
                                                      "column": 58
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 2993,
                                                    "end": 2998,
                                                    "loc": {
                                                      "start": {
                                                        "line": 134,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 134,
                                                        "column": 53
                                                      },
                                                      "identifierName": "value"
                                                    },
                                                    "name": "value"
                                                  },
                                                  "value": {
                                                    "type": "StringLiteral",
                                                    "start": 3000,
                                                    "end": 3003,
                                                    "loc": {
                                                      "start": {
                                                        "line": 134,
                                                        "column": 55
                                                      },
                                                      "end": {
                                                        "line": 134,
                                                        "column": 58
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": ")",
                                                      "raw": "\")\""
                                                    },
                                                    "value": ")"
                                                  }
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "directives": []
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Replace dots with parentehsis",
                                "start": 2424,
                                "end": 2456,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 38
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " a.b   =>    a(\"b\")",
                                "start": 2463,
                                "end": 2484,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 27
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " a.b.c   =>  a(\"b\")(\"c\")",
                                "start": 2491,
                                "end": 2517,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 32
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " a.b(c, d)   => a(\"b\", c, d)",
                                "start": 2524,
                                "end": 2554,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 36
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3037,
                      "end": 3051,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 4
                        },
                        "end": {
                          "line": 139,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 3044,
                        "end": 3050,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 11
                          },
                          "end": {
                            "line": 139,
                            "column": 17
                          },
                          "identifierName": "tokens"
                        },
                        "name": "tokens"
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 3059,
                "end": 3259,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 2
                  },
                  "end": {
                    "line": 148,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3059,
                  "end": 3078,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 2
                    },
                    "end": {
                      "line": 142,
                      "column": 21
                    },
                    "identifierName": "__updateLastIndices"
                  },
                  "name": "__updateLastIndices"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3081,
                  "end": 3259,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 24
                    },
                    "end": {
                      "line": 148,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3087,
                      "end": 3164,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 4
                        },
                        "end": {
                          "line": 145,
                          "column": 7
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3087,
                        "end": 3163,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 4
                          },
                          "end": {
                            "line": 145,
                            "column": 6
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3087,
                          "end": 3107,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 4
                            },
                            "end": {
                              "line": 143,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3087,
                            "end": 3099,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 4
                              },
                              "end": {
                                "line": 143,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3087,
                              "end": 3092,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 4
                                },
                                "end": {
                                  "line": 143,
                                  "column": 9
                                },
                                "identifierName": "Lexer"
                              },
                              "name": "Lexer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3093,
                              "end": 3099,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 10
                                },
                                "end": {
                                  "line": 143,
                                  "column": 16
                                },
                                "identifierName": "TOKENS"
                              },
                              "name": "TOKENS"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3100,
                            "end": 3107,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 17
                              },
                              "end": {
                                "line": 143,
                                "column": 24
                              },
                              "identifierName": "forEach"
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 3108,
                            "end": 3162,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 25
                              },
                              "end": {
                                "line": 145,
                                "column": 5
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 3108,
                                "end": 3112,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 29
                                  },
                                  "identifierName": "expr"
                                },
                                "name": "expr"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 3116,
                              "end": 3162,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 33
                                },
                                "end": {
                                  "line": 145,
                                  "column": 5
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 3124,
                                  "end": 3156,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 3124,
                                    "end": 3155,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 37
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 3124,
                                      "end": 3138,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3124,
                                        "end": 3128,
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 10
                                          },
                                          "identifierName": "expr"
                                        },
                                        "name": "expr"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3129,
                                        "end": 3138,
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 11
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 20
                                          },
                                          "identifierName": "lastIndex"
                                        },
                                        "name": "lastIndex"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 3141,
                                      "end": 3155,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 3141,
                                        "end": 3145,
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3146,
                                        "end": 3155,
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 37
                                          },
                                          "identifierName": "lastIndex"
                                        },
                                        "name": "lastIndex"
                                      },
                                      "computed": false
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3169,
                      "end": 3209,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 4
                        },
                        "end": {
                          "line": 146,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3169,
                        "end": 3208,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 4
                          },
                          "end": {
                            "line": 146,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3169,
                          "end": 3191,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 4
                            },
                            "end": {
                              "line": 146,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3169,
                            "end": 3181,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 4
                              },
                              "end": {
                                "line": 146,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3169,
                              "end": 3174,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 4
                                },
                                "end": {
                                  "line": 146,
                                  "column": 9
                                },
                                "identifierName": "Lexer"
                              },
                              "name": "Lexer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3175,
                              "end": 3181,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 10
                                },
                                "end": {
                                  "line": 146,
                                  "column": 16
                                },
                                "identifierName": "WHITES"
                              },
                              "name": "WHITES"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3182,
                            "end": 3191,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 17
                              },
                              "end": {
                                "line": 146,
                                "column": 26
                              },
                              "identifierName": "lastIndex"
                            },
                            "name": "lastIndex"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3194,
                          "end": 3208,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 29
                            },
                            "end": {
                              "line": 146,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3194,
                            "end": 3198,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 29
                              },
                              "end": {
                                "line": 146,
                                "column": 33
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3199,
                            "end": 3208,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 34
                              },
                              "end": {
                                "line": 146,
                                "column": 43
                              },
                              "identifierName": "lastIndex"
                            },
                            "name": "lastIndex"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3214,
                      "end": 3255,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 4
                        },
                        "end": {
                          "line": 147,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3214,
                        "end": 3254,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 4
                          },
                          "end": {
                            "line": 147,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3214,
                          "end": 3237,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 4
                            },
                            "end": {
                              "line": 147,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3214,
                            "end": 3227,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 4
                              },
                              "end": {
                                "line": 147,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3214,
                              "end": 3219,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 4
                                },
                                "end": {
                                  "line": 147,
                                  "column": 9
                                },
                                "identifierName": "Lexer"
                              },
                              "name": "Lexer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3220,
                              "end": 3227,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 10
                                },
                                "end": {
                                  "line": 147,
                                  "column": 17
                                },
                                "identifierName": "NEWLINE"
                              },
                              "name": "NEWLINE"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3228,
                            "end": 3237,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 18
                              },
                              "end": {
                                "line": 147,
                                "column": 27
                              },
                              "identifierName": "lastIndex"
                            },
                            "name": "lastIndex"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3240,
                          "end": 3254,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 30
                            },
                            "end": {
                              "line": 147,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3240,
                            "end": 3244,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 30
                              },
                              "end": {
                                "line": 147,
                                "column": 34
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3245,
                            "end": 3254,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 35
                              },
                              "end": {
                                "line": 147,
                                "column": 44
                              },
                              "identifierName": "lastIndex"
                            },
                            "name": "lastIndex"
                          },
                          "computed": false
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "__PseudoExport__": false,
          "leadingComments": [],
          "trailingComments": []
        },
        "specifiers": null,
        "source": null,
        "leadingComments": null
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " Update lastIndex property for each expression used",
      "start": 1254,
      "end": 1307,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Match and ignore whitespaces and newlines",
      "start": 1345,
      "end": 1389,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Iterate through each regex",
      "start": 1647,
      "end": 1676,
      "loc": {
        "start": {
          "line": 87,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " When matching a expression, add the current line and set the token",
      "start": 1812,
      "end": 1881,
      "loc": {
        "start": {
          "line": 92,
          "column": 6
        },
        "end": {
          "line": 92,
          "column": 75
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Return the matched token, or null if anything was found",
      "start": 2052,
      "end": 2110,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 62
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " x: => \"x\",",
      "start": 2216,
      "end": 2229,
      "loc": {
        "start": {
          "line": 108,
          "column": 6
        },
        "end": {
          "line": 108,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Replace dots with parentehsis",
      "start": 2424,
      "end": 2456,
      "loc": {
        "start": {
          "line": 116,
          "column": 6
        },
        "end": {
          "line": 116,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " a.b   =>    a(\"b\")",
      "start": 2463,
      "end": 2484,
      "loc": {
        "start": {
          "line": 117,
          "column": 6
        },
        "end": {
          "line": 117,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " a.b.c   =>  a(\"b\")(\"c\")",
      "start": 2491,
      "end": 2517,
      "loc": {
        "start": {
          "line": 118,
          "column": 6
        },
        "end": {
          "line": 118,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " a.b(c, d)   => a(\"b\", c, d)",
      "start": 2524,
      "end": 2554,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 36
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 7,
      "end": 17,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 18,
      "end": 22,
      "loc": {
        "start": {
          "line": 1,
          "column": 18
        },
        "end": {
          "line": 1,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./tokenRegex.js",
      "start": 23,
      "end": 40,
      "loc": {
        "start": {
          "line": 1,
          "column": 23
        },
        "end": {
          "line": 1,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 40,
      "end": 41,
      "loc": {
        "start": {
          "line": 1,
          "column": 40
        },
        "end": {
          "line": 1,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 42,
      "end": 48,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fs",
      "start": 49,
      "end": 51,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 52,
      "end": 56,
      "loc": {
        "start": {
          "line": 2,
          "column": 10
        },
        "end": {
          "line": 2,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "fs",
      "start": 57,
      "end": 61,
      "loc": {
        "start": {
          "line": 2,
          "column": 15
        },
        "end": {
          "line": 2,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 61,
      "end": 62,
      "loc": {
        "start": {
          "line": 2,
          "column": 19
        },
        "end": {
          "line": 2,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 64,
      "end": 69,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 70,
      "end": 75,
      "loc": {
        "start": {
          "line": 4,
          "column": 6
        },
        "end": {
          "line": 4,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 76,
      "end": 77,
      "loc": {
        "start": {
          "line": 4,
          "column": 12
        },
        "end": {
          "line": 4,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 80,
      "end": 91,
      "loc": {
        "start": {
          "line": 5,
          "column": 2
        },
        "end": {
          "line": 5,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 91,
      "end": 92,
      "loc": {
        "start": {
          "line": 5,
          "column": 13
        },
        "end": {
          "line": 5,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 92,
      "end": 93,
      "loc": {
        "start": {
          "line": 5,
          "column": 14
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 94,
      "end": 95,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 100,
      "end": 104,
      "loc": {
        "start": {
          "line": 6,
          "column": 4
        },
        "end": {
          "line": 6,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 104,
      "end": 105,
      "loc": {
        "start": {
          "line": 6,
          "column": 8
        },
        "end": {
          "line": 6,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 105,
      "end": 114,
      "loc": {
        "start": {
          "line": 6,
          "column": 9
        },
        "end": {
          "line": 6,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 115,
      "end": 116,
      "loc": {
        "start": {
          "line": 6,
          "column": 19
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 117,
      "end": 118,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 118,
      "end": 119,
      "loc": {
        "start": {
          "line": 6,
          "column": 22
        },
        "end": {
          "line": 6,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 124,
      "end": 128,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 128,
      "end": 129,
      "loc": {
        "start": {
          "line": 7,
          "column": 8
        },
        "end": {
          "line": 7,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "line",
      "start": 129,
      "end": 133,
      "loc": {
        "start": {
          "line": 7,
          "column": 9
        },
        "end": {
          "line": 7,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 134,
      "end": 135,
      "loc": {
        "start": {
          "line": 7,
          "column": 14
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 137,
      "end": 138,
      "loc": {
        "start": {
          "line": 7,
          "column": 17
        },
        "end": {
          "line": 7,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 141,
      "end": 142,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 8,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setProgram",
      "start": 146,
      "end": 156,
      "loc": {
        "start": {
          "line": 10,
          "column": 2
        },
        "end": {
          "line": 10,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 156,
      "end": 157,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 157,
      "end": 164,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 164,
      "end": 165,
      "loc": {
        "start": {
          "line": 10,
          "column": 20
        },
        "end": {
          "line": 10,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 166,
      "end": 167,
      "loc": {
        "start": {
          "line": 10,
          "column": 22
        },
        "end": {
          "line": 10,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 172,
      "end": 176,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 176,
      "end": 177,
      "loc": {
        "start": {
          "line": 11,
          "column": 8
        },
        "end": {
          "line": 11,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 177,
      "end": 184,
      "loc": {
        "start": {
          "line": 11,
          "column": 9
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 185,
      "end": 186,
      "loc": {
        "start": {
          "line": 11,
          "column": 17
        },
        "end": {
          "line": 11,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 187,
      "end": 194,
      "loc": {
        "start": {
          "line": 11,
          "column": 19
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 194,
      "end": 195,
      "loc": {
        "start": {
          "line": 11,
          "column": 26
        },
        "end": {
          "line": 11,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 201,
      "end": 205,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 205,
      "end": 206,
      "loc": {
        "start": {
          "line": 13,
          "column": 8
        },
        "end": {
          "line": 13,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 206,
      "end": 215,
      "loc": {
        "start": {
          "line": 13,
          "column": 9
        },
        "end": {
          "line": 13,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 216,
      "end": 217,
      "loc": {
        "start": {
          "line": 13,
          "column": 19
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 218,
      "end": 219,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 219,
      "end": 220,
      "loc": {
        "start": {
          "line": 13,
          "column": 22
        },
        "end": {
          "line": 13,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 225,
      "end": 229,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 14,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 229,
      "end": 230,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "line",
      "start": 230,
      "end": 234,
      "loc": {
        "start": {
          "line": 14,
          "column": 9
        },
        "end": {
          "line": 14,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 235,
      "end": 236,
      "loc": {
        "start": {
          "line": 14,
          "column": 14
        },
        "end": {
          "line": 14,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 237,
      "end": 238,
      "loc": {
        "start": {
          "line": 14,
          "column": 16
        },
        "end": {
          "line": 14,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 238,
      "end": 239,
      "loc": {
        "start": {
          "line": 14,
          "column": 17
        },
        "end": {
          "line": 14,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 245,
      "end": 251,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 252,
      "end": 256,
      "loc": {
        "start": {
          "line": 16,
          "column": 11
        },
        "end": {
          "line": 16,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 16,
          "column": 15
        },
        "end": {
          "line": 16,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 260,
      "end": 261,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenize",
      "start": 265,
      "end": 273,
      "loc": {
        "start": {
          "line": 19,
          "column": 2
        },
        "end": {
          "line": 19,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 273,
      "end": 274,
      "loc": {
        "start": {
          "line": 19,
          "column": 10
        },
        "end": {
          "line": 19,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 274,
      "end": 281,
      "loc": {
        "start": {
          "line": 19,
          "column": 11
        },
        "end": {
          "line": 19,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 281,
      "end": 282,
      "loc": {
        "start": {
          "line": 19,
          "column": 18
        },
        "end": {
          "line": 19,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 283,
      "end": 284,
      "loc": {
        "start": {
          "line": 19,
          "column": 20
        },
        "end": {
          "line": 19,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 289,
      "end": 293,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 293,
      "end": 294,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setProgram",
      "start": 294,
      "end": 304,
      "loc": {
        "start": {
          "line": 20,
          "column": 9
        },
        "end": {
          "line": 20,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 304,
      "end": 305,
      "loc": {
        "start": {
          "line": 20,
          "column": 19
        },
        "end": {
          "line": 20,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 305,
      "end": 312,
      "loc": {
        "start": {
          "line": 20,
          "column": 20
        },
        "end": {
          "line": 20,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 312,
      "end": 313,
      "loc": {
        "start": {
          "line": 20,
          "column": 27
        },
        "end": {
          "line": 20,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 313,
      "end": 314,
      "loc": {
        "start": {
          "line": 20,
          "column": 28
        },
        "end": {
          "line": 20,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 320,
      "end": 326,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 327,
      "end": 331,
      "loc": {
        "start": {
          "line": 22,
          "column": 11
        },
        "end": {
          "line": 22,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 331,
      "end": 332,
      "loc": {
        "start": {
          "line": 22,
          "column": 15
        },
        "end": {
          "line": 22,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getTokens",
      "start": 332,
      "end": 342,
      "loc": {
        "start": {
          "line": 22,
          "column": 16
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 342,
      "end": 343,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 343,
      "end": 344,
      "loc": {
        "start": {
          "line": 22,
          "column": 27
        },
        "end": {
          "line": 22,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 344,
      "end": 345,
      "loc": {
        "start": {
          "line": 22,
          "column": 28
        },
        "end": {
          "line": 22,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 348,
      "end": 349,
      "loc": {
        "start": {
          "line": 23,
          "column": 2
        },
        "end": {
          "line": 23,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 353,
      "end": 359,
      "loc": {
        "start": {
          "line": 25,
          "column": 2
        },
        "end": {
          "line": 25,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenize",
      "start": 360,
      "end": 368,
      "loc": {
        "start": {
          "line": 25,
          "column": 9
        },
        "end": {
          "line": 25,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 368,
      "end": 369,
      "loc": {
        "start": {
          "line": 25,
          "column": 17
        },
        "end": {
          "line": 25,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 369,
      "end": 376,
      "loc": {
        "start": {
          "line": 25,
          "column": 18
        },
        "end": {
          "line": 25,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 376,
      "end": 377,
      "loc": {
        "start": {
          "line": 25,
          "column": 25
        },
        "end": {
          "line": 25,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 378,
      "end": 379,
      "loc": {
        "start": {
          "line": 25,
          "column": 27
        },
        "end": {
          "line": 25,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 384,
      "end": 390,
      "loc": {
        "start": {
          "line": 26,
          "column": 4
        },
        "end": {
          "line": 26,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 391,
      "end": 394,
      "loc": {
        "start": {
          "line": 26,
          "column": 11
        },
        "end": {
          "line": 26,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 395,
      "end": 400,
      "loc": {
        "start": {
          "line": 26,
          "column": 15
        },
        "end": {
          "line": 26,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 400,
      "end": 401,
      "loc": {
        "start": {
          "line": 26,
          "column": 20
        },
        "end": {
          "line": 26,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 401,
      "end": 402,
      "loc": {
        "start": {
          "line": 26,
          "column": 21
        },
        "end": {
          "line": 26,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 402,
      "end": 403,
      "loc": {
        "start": {
          "line": 26,
          "column": 22
        },
        "end": {
          "line": 26,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenize",
      "start": 403,
      "end": 411,
      "loc": {
        "start": {
          "line": 26,
          "column": 23
        },
        "end": {
          "line": 26,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 411,
      "end": 412,
      "loc": {
        "start": {
          "line": 26,
          "column": 31
        },
        "end": {
          "line": 26,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 412,
      "end": 419,
      "loc": {
        "start": {
          "line": 26,
          "column": 32
        },
        "end": {
          "line": 26,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 419,
      "end": 420,
      "loc": {
        "start": {
          "line": 26,
          "column": 39
        },
        "end": {
          "line": 26,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 420,
      "end": 421,
      "loc": {
        "start": {
          "line": 26,
          "column": 40
        },
        "end": {
          "line": 26,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 424,
      "end": 425,
      "loc": {
        "start": {
          "line": 27,
          "column": 2
        },
        "end": {
          "line": 27,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenizeFromFile",
      "start": 429,
      "end": 445,
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 29,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 445,
      "end": 446,
      "loc": {
        "start": {
          "line": 29,
          "column": 18
        },
        "end": {
          "line": 29,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 446,
      "end": 450,
      "loc": {
        "start": {
          "line": 29,
          "column": 19
        },
        "end": {
          "line": 29,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 450,
      "end": 451,
      "loc": {
        "start": {
          "line": 29,
          "column": 23
        },
        "end": {
          "line": 29,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 452,
      "end": 453,
      "loc": {
        "start": {
          "line": 29,
          "column": 25
        },
        "end": {
          "line": 29,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 458,
      "end": 463,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 464,
      "end": 471,
      "loc": {
        "start": {
          "line": 30,
          "column": 10
        },
        "end": {
          "line": 30,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 472,
      "end": 473,
      "loc": {
        "start": {
          "line": 30,
          "column": 18
        },
        "end": {
          "line": 30,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fs",
      "start": 474,
      "end": 476,
      "loc": {
        "start": {
          "line": 30,
          "column": 20
        },
        "end": {
          "line": 30,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 30,
          "column": 22
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readFileSync",
      "start": 477,
      "end": 489,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 489,
      "end": 490,
      "loc": {
        "start": {
          "line": 30,
          "column": 35
        },
        "end": {
          "line": 30,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 490,
      "end": 494,
      "loc": {
        "start": {
          "line": 30,
          "column": 36
        },
        "end": {
          "line": 30,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 494,
      "end": 495,
      "loc": {
        "start": {
          "line": 30,
          "column": 40
        },
        "end": {
          "line": 30,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "utf-8",
      "start": 496,
      "end": 503,
      "loc": {
        "start": {
          "line": 30,
          "column": 42
        },
        "end": {
          "line": 30,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 503,
      "end": 504,
      "loc": {
        "start": {
          "line": 30,
          "column": 49
        },
        "end": {
          "line": 30,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 504,
      "end": 505,
      "loc": {
        "start": {
          "line": 30,
          "column": 50
        },
        "end": {
          "line": 30,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 511,
      "end": 517,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 518,
      "end": 522,
      "loc": {
        "start": {
          "line": 32,
          "column": 11
        },
        "end": {
          "line": 32,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 522,
      "end": 523,
      "loc": {
        "start": {
          "line": 32,
          "column": 15
        },
        "end": {
          "line": 32,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenize",
      "start": 523,
      "end": 531,
      "loc": {
        "start": {
          "line": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 531,
      "end": 532,
      "loc": {
        "start": {
          "line": 32,
          "column": 24
        },
        "end": {
          "line": 32,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 532,
      "end": 539,
      "loc": {
        "start": {
          "line": 32,
          "column": 25
        },
        "end": {
          "line": 32,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 539,
      "end": 540,
      "loc": {
        "start": {
          "line": 32,
          "column": 32
        },
        "end": {
          "line": 32,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 540,
      "end": 541,
      "loc": {
        "start": {
          "line": 32,
          "column": 33
        },
        "end": {
          "line": 32,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 544,
      "end": 545,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 33,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 549,
      "end": 555,
      "loc": {
        "start": {
          "line": 35,
          "column": 2
        },
        "end": {
          "line": 35,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenizeFromFile",
      "start": 556,
      "end": 572,
      "loc": {
        "start": {
          "line": 35,
          "column": 9
        },
        "end": {
          "line": 35,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 572,
      "end": 573,
      "loc": {
        "start": {
          "line": 35,
          "column": 25
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 573,
      "end": 577,
      "loc": {
        "start": {
          "line": 35,
          "column": 26
        },
        "end": {
          "line": 35,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 577,
      "end": 578,
      "loc": {
        "start": {
          "line": 35,
          "column": 30
        },
        "end": {
          "line": 35,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 579,
      "end": 580,
      "loc": {
        "start": {
          "line": 35,
          "column": 32
        },
        "end": {
          "line": 35,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 585,
      "end": 591,
      "loc": {
        "start": {
          "line": 36,
          "column": 4
        },
        "end": {
          "line": 36,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 592,
      "end": 595,
      "loc": {
        "start": {
          "line": 36,
          "column": 11
        },
        "end": {
          "line": 36,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 596,
      "end": 601,
      "loc": {
        "start": {
          "line": 36,
          "column": 15
        },
        "end": {
          "line": 36,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 601,
      "end": 602,
      "loc": {
        "start": {
          "line": 36,
          "column": 20
        },
        "end": {
          "line": 36,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 602,
      "end": 603,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 603,
      "end": 604,
      "loc": {
        "start": {
          "line": 36,
          "column": 22
        },
        "end": {
          "line": 36,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenizeFromFile",
      "start": 604,
      "end": 620,
      "loc": {
        "start": {
          "line": 36,
          "column": 23
        },
        "end": {
          "line": 36,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 620,
      "end": 621,
      "loc": {
        "start": {
          "line": 36,
          "column": 39
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 621,
      "end": 625,
      "loc": {
        "start": {
          "line": 36,
          "column": 40
        },
        "end": {
          "line": 36,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 625,
      "end": 626,
      "loc": {
        "start": {
          "line": 36,
          "column": 44
        },
        "end": {
          "line": 36,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 626,
      "end": 627,
      "loc": {
        "start": {
          "line": 36,
          "column": 45
        },
        "end": {
          "line": 36,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 630,
      "end": 631,
      "loc": {
        "start": {
          "line": 37,
          "column": 2
        },
        "end": {
          "line": 37,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 635,
      "end": 641,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setTokens",
      "start": 642,
      "end": 651,
      "loc": {
        "start": {
          "line": 39,
          "column": 9
        },
        "end": {
          "line": 39,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 651,
      "end": 652,
      "loc": {
        "start": {
          "line": 39,
          "column": 18
        },
        "end": {
          "line": 39,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 652,
      "end": 658,
      "loc": {
        "start": {
          "line": 39,
          "column": 19
        },
        "end": {
          "line": 39,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 658,
      "end": 659,
      "loc": {
        "start": {
          "line": 39,
          "column": 25
        },
        "end": {
          "line": 39,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 660,
      "end": 661,
      "loc": {
        "start": {
          "line": 39,
          "column": 27
        },
        "end": {
          "line": 39,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 666,
      "end": 671,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 671,
      "end": 672,
      "loc": {
        "start": {
          "line": 40,
          "column": 9
        },
        "end": {
          "line": 40,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TOKENS",
      "start": 672,
      "end": 678,
      "loc": {
        "start": {
          "line": 40,
          "column": 10
        },
        "end": {
          "line": 40,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 679,
      "end": 680,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 681,
      "end": 687,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 687,
      "end": 688,
      "loc": {
        "start": {
          "line": 40,
          "column": 25
        },
        "end": {
          "line": 40,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 691,
      "end": 692,
      "loc": {
        "start": {
          "line": 41,
          "column": 2
        },
        "end": {
          "line": 41,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getParBalance",
      "start": 696,
      "end": 709,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 43,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 709,
      "end": 710,
      "loc": {
        "start": {
          "line": 43,
          "column": 15
        },
        "end": {
          "line": 43,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 710,
      "end": 717,
      "loc": {
        "start": {
          "line": 43,
          "column": 16
        },
        "end": {
          "line": 43,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 717,
      "end": 718,
      "loc": {
        "start": {
          "line": 43,
          "column": 23
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 719,
      "end": 720,
      "loc": {
        "start": {
          "line": 43,
          "column": 25
        },
        "end": {
          "line": 43,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 725,
      "end": 729,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 729,
      "end": 730,
      "loc": {
        "start": {
          "line": 44,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setProgram",
      "start": 730,
      "end": 740,
      "loc": {
        "start": {
          "line": 44,
          "column": 9
        },
        "end": {
          "line": 44,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 740,
      "end": 741,
      "loc": {
        "start": {
          "line": 44,
          "column": 19
        },
        "end": {
          "line": 44,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 741,
      "end": 748,
      "loc": {
        "start": {
          "line": 44,
          "column": 20
        },
        "end": {
          "line": 44,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 748,
      "end": 749,
      "loc": {
        "start": {
          "line": 44,
          "column": 27
        },
        "end": {
          "line": 44,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 749,
      "end": 750,
      "loc": {
        "start": {
          "line": 44,
          "column": 28
        },
        "end": {
          "line": 44,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 756,
      "end": 759,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stack",
      "start": 760,
      "end": 765,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 766,
      "end": 767,
      "loc": {
        "start": {
          "line": 46,
          "column": 14
        },
        "end": {
          "line": 46,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 768,
      "end": 769,
      "loc": {
        "start": {
          "line": 46,
          "column": 16
        },
        "end": {
          "line": 46,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 769,
      "end": 770,
      "loc": {
        "start": {
          "line": 46,
          "column": 17
        },
        "end": {
          "line": 46,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 775,
      "end": 780,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 781,
      "end": 787,
      "loc": {
        "start": {
          "line": 47,
          "column": 10
        },
        "end": {
          "line": 47,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 788,
      "end": 789,
      "loc": {
        "start": {
          "line": 47,
          "column": 17
        },
        "end": {
          "line": 47,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 790,
      "end": 794,
      "loc": {
        "start": {
          "line": 47,
          "column": 19
        },
        "end": {
          "line": 47,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 794,
      "end": 795,
      "loc": {
        "start": {
          "line": 47,
          "column": 23
        },
        "end": {
          "line": 47,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getTokens",
      "start": 795,
      "end": 805,
      "loc": {
        "start": {
          "line": 47,
          "column": 24
        },
        "end": {
          "line": 47,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 805,
      "end": 806,
      "loc": {
        "start": {
          "line": 47,
          "column": 34
        },
        "end": {
          "line": 47,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 806,
      "end": 807,
      "loc": {
        "start": {
          "line": 47,
          "column": 35
        },
        "end": {
          "line": 47,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 807,
      "end": 808,
      "loc": {
        "start": {
          "line": 47,
          "column": 36
        },
        "end": {
          "line": 47,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 813,
      "end": 816,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 817,
      "end": 818,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 818,
      "end": 823,
      "loc": {
        "start": {
          "line": 48,
          "column": 9
        },
        "end": {
          "line": 48,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 824,
      "end": 829,
      "loc": {
        "start": {
          "line": 48,
          "column": 15
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 830,
      "end": 832,
      "loc": {
        "start": {
          "line": 48,
          "column": 21
        },
        "end": {
          "line": 48,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 833,
      "end": 839,
      "loc": {
        "start": {
          "line": 48,
          "column": 24
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 839,
      "end": 840,
      "loc": {
        "start": {
          "line": 48,
          "column": 30
        },
        "end": {
          "line": 48,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 841,
      "end": 842,
      "loc": {
        "start": {
          "line": 48,
          "column": 32
        },
        "end": {
          "line": 48,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 849,
      "end": 851,
      "loc": {
        "start": {
          "line": 49,
          "column": 6
        },
        "end": {
          "line": 49,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 852,
      "end": 853,
      "loc": {
        "start": {
          "line": 49,
          "column": 9
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 853,
      "end": 858,
      "loc": {
        "start": {
          "line": 49,
          "column": 10
        },
        "end": {
          "line": 49,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 858,
      "end": 859,
      "loc": {
        "start": {
          "line": 49,
          "column": 15
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 859,
      "end": 863,
      "loc": {
        "start": {
          "line": 49,
          "column": 16
        },
        "end": {
          "line": 49,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 864,
      "end": 867,
      "loc": {
        "start": {
          "line": 49,
          "column": 21
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "LP",
      "start": 868,
      "end": 872,
      "loc": {
        "start": {
          "line": 49,
          "column": 25
        },
        "end": {
          "line": 49,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 872,
      "end": 873,
      "loc": {
        "start": {
          "line": 49,
          "column": 29
        },
        "end": {
          "line": 49,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 874,
      "end": 875,
      "loc": {
        "start": {
          "line": 49,
          "column": 31
        },
        "end": {
          "line": 49,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 884,
      "end": 886,
      "loc": {
        "start": {
          "line": 50,
          "column": 8
        },
        "end": {
          "line": 50,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stack",
      "start": 886,
      "end": 891,
      "loc": {
        "start": {
          "line": 50,
          "column": 10
        },
        "end": {
          "line": 50,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 891,
      "end": 892,
      "loc": {
        "start": {
          "line": 50,
          "column": 15
        },
        "end": {
          "line": 50,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 899,
      "end": 900,
      "loc": {
        "start": {
          "line": 51,
          "column": 6
        },
        "end": {
          "line": 51,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 901,
      "end": 905,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 906,
      "end": 908,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 909,
      "end": 910,
      "loc": {
        "start": {
          "line": 51,
          "column": 16
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 910,
      "end": 915,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 915,
      "end": 916,
      "loc": {
        "start": {
          "line": 51,
          "column": 22
        },
        "end": {
          "line": 51,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 916,
      "end": 920,
      "loc": {
        "start": {
          "line": 51,
          "column": 23
        },
        "end": {
          "line": 51,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 921,
      "end": 924,
      "loc": {
        "start": {
          "line": 51,
          "column": 28
        },
        "end": {
          "line": 51,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "RP",
      "start": 925,
      "end": 929,
      "loc": {
        "start": {
          "line": 51,
          "column": 32
        },
        "end": {
          "line": 51,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 929,
      "end": 930,
      "loc": {
        "start": {
          "line": 51,
          "column": 36
        },
        "end": {
          "line": 51,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 931,
      "end": 932,
      "loc": {
        "start": {
          "line": 51,
          "column": 38
        },
        "end": {
          "line": 51,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "--",
      "start": 941,
      "end": 943,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stack",
      "start": 943,
      "end": 948,
      "loc": {
        "start": {
          "line": 52,
          "column": 10
        },
        "end": {
          "line": 52,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 948,
      "end": 949,
      "loc": {
        "start": {
          "line": 52,
          "column": 15
        },
        "end": {
          "line": 52,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 956,
      "end": 957,
      "loc": {
        "start": {
          "line": 53,
          "column": 6
        },
        "end": {
          "line": 53,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 962,
      "end": 963,
      "loc": {
        "start": {
          "line": 54,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 969,
      "end": 975,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stack",
      "start": 976,
      "end": 981,
      "loc": {
        "start": {
          "line": 56,
          "column": 11
        },
        "end": {
          "line": 56,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 981,
      "end": 982,
      "loc": {
        "start": {
          "line": 56,
          "column": 16
        },
        "end": {
          "line": 56,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 985,
      "end": 986,
      "loc": {
        "start": {
          "line": 57,
          "column": 2
        },
        "end": {
          "line": 57,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getTokens",
      "start": 990,
      "end": 1000,
      "loc": {
        "start": {
          "line": 59,
          "column": 2
        },
        "end": {
          "line": 59,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1000,
      "end": 1001,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1001,
      "end": 1002,
      "loc": {
        "start": {
          "line": 59,
          "column": 13
        },
        "end": {
          "line": 59,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1003,
      "end": 1004,
      "loc": {
        "start": {
          "line": 59,
          "column": 15
        },
        "end": {
          "line": 59,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1009,
      "end": 1014,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 1015,
      "end": 1021,
      "loc": {
        "start": {
          "line": 60,
          "column": 10
        },
        "end": {
          "line": 60,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1022,
      "end": 1023,
      "loc": {
        "start": {
          "line": 60,
          "column": 17
        },
        "end": {
          "line": 60,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1024,
      "end": 1025,
      "loc": {
        "start": {
          "line": 60,
          "column": 19
        },
        "end": {
          "line": 60,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1025,
      "end": 1026,
      "loc": {
        "start": {
          "line": 60,
          "column": 20
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1026,
      "end": 1027,
      "loc": {
        "start": {
          "line": 60,
          "column": 21
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1033,
      "end": 1036,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentToken",
      "start": 1037,
      "end": 1049,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1050,
      "end": 1051,
      "loc": {
        "start": {
          "line": 62,
          "column": 21
        },
        "end": {
          "line": 62,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1052,
      "end": 1056,
      "loc": {
        "start": {
          "line": 62,
          "column": 23
        },
        "end": {
          "line": 62,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1056,
      "end": 1057,
      "loc": {
        "start": {
          "line": 62,
          "column": 27
        },
        "end": {
          "line": 62,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getToken",
      "start": 1057,
      "end": 1066,
      "loc": {
        "start": {
          "line": 62,
          "column": 28
        },
        "end": {
          "line": 62,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1066,
      "end": 1067,
      "loc": {
        "start": {
          "line": 62,
          "column": 37
        },
        "end": {
          "line": 62,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1067,
      "end": 1068,
      "loc": {
        "start": {
          "line": 62,
          "column": 38
        },
        "end": {
          "line": 62,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1068,
      "end": 1069,
      "loc": {
        "start": {
          "line": 62,
          "column": 39
        },
        "end": {
          "line": 62,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 1074,
      "end": 1079,
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 63,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 63,
          "column": 10
        },
        "end": {
          "line": 63,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentToken",
      "start": 1081,
      "end": 1093,
      "loc": {
        "start": {
          "line": 63,
          "column": 11
        },
        "end": {
          "line": 63,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1094,
      "end": 1097,
      "loc": {
        "start": {
          "line": 63,
          "column": 24
        },
        "end": {
          "line": 63,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 1098,
      "end": 1102,
      "loc": {
        "start": {
          "line": 63,
          "column": 28
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1102,
      "end": 1103,
      "loc": {
        "start": {
          "line": 63,
          "column": 32
        },
        "end": {
          "line": 63,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1104,
      "end": 1105,
      "loc": {
        "start": {
          "line": 63,
          "column": 34
        },
        "end": {
          "line": 63,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 1112,
      "end": 1118,
      "loc": {
        "start": {
          "line": 64,
          "column": 6
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1118,
      "end": 1119,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 1119,
      "end": 1123,
      "loc": {
        "start": {
          "line": 64,
          "column": 13
        },
        "end": {
          "line": 64,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1123,
      "end": 1124,
      "loc": {
        "start": {
          "line": 64,
          "column": 17
        },
        "end": {
          "line": 64,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentToken",
      "start": 1124,
      "end": 1136,
      "loc": {
        "start": {
          "line": 64,
          "column": 18
        },
        "end": {
          "line": 64,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1136,
      "end": 1137,
      "loc": {
        "start": {
          "line": 64,
          "column": 30
        },
        "end": {
          "line": 64,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1137,
      "end": 1138,
      "loc": {
        "start": {
          "line": 64,
          "column": 31
        },
        "end": {
          "line": 64,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentToken",
      "start": 1146,
      "end": 1158,
      "loc": {
        "start": {
          "line": 66,
          "column": 6
        },
        "end": {
          "line": 66,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1159,
      "end": 1160,
      "loc": {
        "start": {
          "line": 66,
          "column": 19
        },
        "end": {
          "line": 66,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1161,
      "end": 1165,
      "loc": {
        "start": {
          "line": 66,
          "column": 21
        },
        "end": {
          "line": 66,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1165,
      "end": 1166,
      "loc": {
        "start": {
          "line": 66,
          "column": 25
        },
        "end": {
          "line": 66,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getToken",
      "start": 1166,
      "end": 1175,
      "loc": {
        "start": {
          "line": 66,
          "column": 26
        },
        "end": {
          "line": 66,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1175,
      "end": 1176,
      "loc": {
        "start": {
          "line": 66,
          "column": 35
        },
        "end": {
          "line": 66,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1176,
      "end": 1177,
      "loc": {
        "start": {
          "line": 66,
          "column": 36
        },
        "end": {
          "line": 66,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1177,
      "end": 1178,
      "loc": {
        "start": {
          "line": 66,
          "column": 37
        },
        "end": {
          "line": 66,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1183,
      "end": 1184,
      "loc": {
        "start": {
          "line": 67,
          "column": 4
        },
        "end": {
          "line": 67,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1190,
      "end": 1196,
      "loc": {
        "start": {
          "line": 69,
          "column": 4
        },
        "end": {
          "line": 69,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1197,
      "end": 1201,
      "loc": {
        "start": {
          "line": 69,
          "column": 11
        },
        "end": {
          "line": 69,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1201,
      "end": 1202,
      "loc": {
        "start": {
          "line": 69,
          "column": 15
        },
        "end": {
          "line": 69,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__transformTokens",
      "start": 1202,
      "end": 1219,
      "loc": {
        "start": {
          "line": 69,
          "column": 16
        },
        "end": {
          "line": 69,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1219,
      "end": 1220,
      "loc": {
        "start": {
          "line": 69,
          "column": 33
        },
        "end": {
          "line": 69,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 1220,
      "end": 1226,
      "loc": {
        "start": {
          "line": 69,
          "column": 34
        },
        "end": {
          "line": 69,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1226,
      "end": 1227,
      "loc": {
        "start": {
          "line": 69,
          "column": 40
        },
        "end": {
          "line": 69,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1227,
      "end": 1228,
      "loc": {
        "start": {
          "line": 69,
          "column": 41
        },
        "end": {
          "line": 69,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1231,
      "end": 1232,
      "loc": {
        "start": {
          "line": 70,
          "column": 2
        },
        "end": {
          "line": 70,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getToken",
      "start": 1236,
      "end": 1245,
      "loc": {
        "start": {
          "line": 72,
          "column": 2
        },
        "end": {
          "line": 72,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1245,
      "end": 1246,
      "loc": {
        "start": {
          "line": 72,
          "column": 11
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1246,
      "end": 1247,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1248,
      "end": 1249,
      "loc": {
        "start": {
          "line": 72,
          "column": 14
        },
        "end": {
          "line": 72,
          "column": 15
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Update lastIndex property for each expression used",
      "start": 1254,
      "end": 1307,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1312,
      "end": 1316,
      "loc": {
        "start": {
          "line": 74,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1316,
      "end": 1317,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__updateLastIndices",
      "start": 1317,
      "end": 1336,
      "loc": {
        "start": {
          "line": 74,
          "column": 9
        },
        "end": {
          "line": 74,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1336,
      "end": 1337,
      "loc": {
        "start": {
          "line": 74,
          "column": 28
        },
        "end": {
          "line": 74,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1337,
      "end": 1338,
      "loc": {
        "start": {
          "line": 74,
          "column": 29
        },
        "end": {
          "line": 74,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1338,
      "end": 1339,
      "loc": {
        "start": {
          "line": 74,
          "column": 30
        },
        "end": {
          "line": 74,
          "column": 31
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Match and ignore whitespaces and newlines",
      "start": 1345,
      "end": 1389,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1394,
      "end": 1397,
      "loc": {
        "start": {
          "line": 77,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "whitespaces",
      "start": 1398,
      "end": 1409,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1410,
      "end": 1411,
      "loc": {
        "start": {
          "line": 77,
          "column": 20
        },
        "end": {
          "line": 77,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 1412,
      "end": 1417,
      "loc": {
        "start": {
          "line": 77,
          "column": 22
        },
        "end": {
          "line": 77,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1417,
      "end": 1418,
      "loc": {
        "start": {
          "line": 77,
          "column": 27
        },
        "end": {
          "line": 77,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "WHITES",
      "start": 1418,
      "end": 1424,
      "loc": {
        "start": {
          "line": 77,
          "column": 28
        },
        "end": {
          "line": 77,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1424,
      "end": 1425,
      "loc": {
        "start": {
          "line": 77,
          "column": 34
        },
        "end": {
          "line": 77,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exec",
      "start": 1425,
      "end": 1429,
      "loc": {
        "start": {
          "line": 77,
          "column": 35
        },
        "end": {
          "line": 77,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1429,
      "end": 1430,
      "loc": {
        "start": {
          "line": 77,
          "column": 39
        },
        "end": {
          "line": 77,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1430,
      "end": 1434,
      "loc": {
        "start": {
          "line": 77,
          "column": 40
        },
        "end": {
          "line": 77,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1434,
      "end": 1435,
      "loc": {
        "start": {
          "line": 77,
          "column": 44
        },
        "end": {
          "line": 77,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 1435,
      "end": 1442,
      "loc": {
        "start": {
          "line": 77,
          "column": 45
        },
        "end": {
          "line": 77,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1442,
      "end": 1443,
      "loc": {
        "start": {
          "line": 77,
          "column": 52
        },
        "end": {
          "line": 77,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1443,
      "end": 1444,
      "loc": {
        "start": {
          "line": 77,
          "column": 53
        },
        "end": {
          "line": 77,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1449,
      "end": 1451,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1452,
      "end": 1453,
      "loc": {
        "start": {
          "line": 78,
          "column": 7
        },
        "end": {
          "line": 78,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "whitespaces",
      "start": 1453,
      "end": 1464,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1465,
      "end": 1468,
      "loc": {
        "start": {
          "line": 78,
          "column": 20
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 1469,
      "end": 1473,
      "loc": {
        "start": {
          "line": 78,
          "column": 24
        },
        "end": {
          "line": 78,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1473,
      "end": 1474,
      "loc": {
        "start": {
          "line": 78,
          "column": 28
        },
        "end": {
          "line": 78,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1475,
      "end": 1476,
      "loc": {
        "start": {
          "line": 78,
          "column": 30
        },
        "end": {
          "line": 78,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1483,
      "end": 1485,
      "loc": {
        "start": {
          "line": 79,
          "column": 6
        },
        "end": {
          "line": 79,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1486,
      "end": 1487,
      "loc": {
        "start": {
          "line": 79,
          "column": 9
        },
        "end": {
          "line": 79,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 1487,
      "end": 1492,
      "loc": {
        "start": {
          "line": 79,
          "column": 10
        },
        "end": {
          "line": 79,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1492,
      "end": 1493,
      "loc": {
        "start": {
          "line": 79,
          "column": 15
        },
        "end": {
          "line": 79,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NEWLINE",
      "start": 1493,
      "end": 1500,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1500,
      "end": 1501,
      "loc": {
        "start": {
          "line": 79,
          "column": 23
        },
        "end": {
          "line": 79,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exec",
      "start": 1501,
      "end": 1505,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1505,
      "end": 1506,
      "loc": {
        "start": {
          "line": 79,
          "column": 28
        },
        "end": {
          "line": 79,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "whitespaces",
      "start": 1506,
      "end": 1517,
      "loc": {
        "start": {
          "line": 79,
          "column": 29
        },
        "end": {
          "line": 79,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1517,
      "end": 1518,
      "loc": {
        "start": {
          "line": 79,
          "column": 40
        },
        "end": {
          "line": 79,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1518,
      "end": 1523,
      "loc": {
        "start": {
          "line": 79,
          "column": 41
        },
        "end": {
          "line": 79,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1523,
      "end": 1524,
      "loc": {
        "start": {
          "line": 79,
          "column": 46
        },
        "end": {
          "line": 79,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1524,
      "end": 1525,
      "loc": {
        "start": {
          "line": 79,
          "column": 47
        },
        "end": {
          "line": 79,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1526,
      "end": 1527,
      "loc": {
        "start": {
          "line": 79,
          "column": 49
        },
        "end": {
          "line": 79,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 1536,
      "end": 1538,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1538,
      "end": 1542,
      "loc": {
        "start": {
          "line": 80,
          "column": 10
        },
        "end": {
          "line": 80,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1542,
      "end": 1543,
      "loc": {
        "start": {
          "line": 80,
          "column": 14
        },
        "end": {
          "line": 80,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "line",
      "start": 1543,
      "end": 1547,
      "loc": {
        "start": {
          "line": 80,
          "column": 15
        },
        "end": {
          "line": 80,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1547,
      "end": 1548,
      "loc": {
        "start": {
          "line": 80,
          "column": 19
        },
        "end": {
          "line": 80,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1555,
      "end": 1556,
      "loc": {
        "start": {
          "line": 81,
          "column": 6
        },
        "end": {
          "line": 81,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1563,
      "end": 1567,
      "loc": {
        "start": {
          "line": 82,
          "column": 6
        },
        "end": {
          "line": 82,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1567,
      "end": 1568,
      "loc": {
        "start": {
          "line": 82,
          "column": 10
        },
        "end": {
          "line": 82,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 1568,
      "end": 1577,
      "loc": {
        "start": {
          "line": 82,
          "column": 11
        },
        "end": {
          "line": 82,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1578,
      "end": 1579,
      "loc": {
        "start": {
          "line": 82,
          "column": 21
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 1580,
      "end": 1585,
      "loc": {
        "start": {
          "line": 82,
          "column": 23
        },
        "end": {
          "line": 82,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 82,
          "column": 28
        },
        "end": {
          "line": 82,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "WHITES",
      "start": 1586,
      "end": 1592,
      "loc": {
        "start": {
          "line": 82,
          "column": 29
        },
        "end": {
          "line": 82,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1592,
      "end": 1593,
      "loc": {
        "start": {
          "line": 82,
          "column": 35
        },
        "end": {
          "line": 82,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 1593,
      "end": 1602,
      "loc": {
        "start": {
          "line": 82,
          "column": 36
        },
        "end": {
          "line": 82,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1602,
      "end": 1603,
      "loc": {
        "start": {
          "line": 82,
          "column": 45
        },
        "end": {
          "line": 82,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1611,
      "end": 1617,
      "loc": {
        "start": {
          "line": 84,
          "column": 6
        },
        "end": {
          "line": 84,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1618,
      "end": 1622,
      "loc": {
        "start": {
          "line": 84,
          "column": 13
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1622,
      "end": 1623,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_getToken",
      "start": 1623,
      "end": 1632,
      "loc": {
        "start": {
          "line": 84,
          "column": 18
        },
        "end": {
          "line": 84,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1632,
      "end": 1633,
      "loc": {
        "start": {
          "line": 84,
          "column": 27
        },
        "end": {
          "line": 84,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1633,
      "end": 1634,
      "loc": {
        "start": {
          "line": 84,
          "column": 28
        },
        "end": {
          "line": 84,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1634,
      "end": 1635,
      "loc": {
        "start": {
          "line": 84,
          "column": 29
        },
        "end": {
          "line": 84,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1640,
      "end": 1641,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Iterate through each regex",
      "start": 1647,
      "end": 1676,
      "loc": {
        "start": {
          "line": 87,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1681,
      "end": 1684,
      "loc": {
        "start": {
          "line": 88,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 1685,
      "end": 1690,
      "loc": {
        "start": {
          "line": 88,
          "column": 8
        },
        "end": {
          "line": 88,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1691,
      "end": 1692,
      "loc": {
        "start": {
          "line": 88,
          "column": 14
        },
        "end": {
          "line": 88,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 1693,
      "end": 1697,
      "loc": {
        "start": {
          "line": 88,
          "column": 16
        },
        "end": {
          "line": 88,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1697,
      "end": 1698,
      "loc": {
        "start": {
          "line": 88,
          "column": 20
        },
        "end": {
          "line": 88,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 1703,
      "end": 1706,
      "loc": {
        "start": {
          "line": 89,
          "column": 4
        },
        "end": {
          "line": 89,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1707,
      "end": 1708,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1708,
      "end": 1711,
      "loc": {
        "start": {
          "line": 89,
          "column": 9
        },
        "end": {
          "line": 89,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1712,
      "end": 1713,
      "loc": {
        "start": {
          "line": 89,
          "column": 13
        },
        "end": {
          "line": 89,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1714,
      "end": 1715,
      "loc": {
        "start": {
          "line": 89,
          "column": 15
        },
        "end": {
          "line": 89,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1716,
      "end": 1717,
      "loc": {
        "start": {
          "line": 89,
          "column": 17
        },
        "end": {
          "line": 89,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1717,
      "end": 1718,
      "loc": {
        "start": {
          "line": 89,
          "column": 18
        },
        "end": {
          "line": 89,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1719,
      "end": 1720,
      "loc": {
        "start": {
          "line": 89,
          "column": 20
        },
        "end": {
          "line": 89,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 1721,
      "end": 1722,
      "loc": {
        "start": {
          "line": 89,
          "column": 22
        },
        "end": {
          "line": 89,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 1723,
      "end": 1728,
      "loc": {
        "start": {
          "line": 89,
          "column": 24
        },
        "end": {
          "line": 89,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1728,
      "end": 1729,
      "loc": {
        "start": {
          "line": 89,
          "column": 29
        },
        "end": {
          "line": 89,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TOKENS",
      "start": 1729,
      "end": 1735,
      "loc": {
        "start": {
          "line": 89,
          "column": 30
        },
        "end": {
          "line": 89,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1735,
      "end": 1736,
      "loc": {
        "start": {
          "line": 89,
          "column": 36
        },
        "end": {
          "line": 89,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1736,
      "end": 1742,
      "loc": {
        "start": {
          "line": 89,
          "column": 37
        },
        "end": {
          "line": 89,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1742,
      "end": 1743,
      "loc": {
        "start": {
          "line": 89,
          "column": 43
        },
        "end": {
          "line": 89,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 1744,
      "end": 1746,
      "loc": {
        "start": {
          "line": 89,
          "column": 45
        },
        "end": {
          "line": 89,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1746,
      "end": 1747,
      "loc": {
        "start": {
          "line": 89,
          "column": 47
        },
        "end": {
          "line": 89,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1747,
      "end": 1748,
      "loc": {
        "start": {
          "line": 89,
          "column": 48
        },
        "end": {
          "line": 89,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1749,
      "end": 1750,
      "loc": {
        "start": {
          "line": 89,
          "column": 50
        },
        "end": {
          "line": 89,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1757,
      "end": 1760,
      "loc": {
        "start": {
          "line": 90,
          "column": 6
        },
        "end": {
          "line": 90,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 1761,
      "end": 1766,
      "loc": {
        "start": {
          "line": 90,
          "column": 10
        },
        "end": {
          "line": 90,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1767,
      "end": 1768,
      "loc": {
        "start": {
          "line": 90,
          "column": 16
        },
        "end": {
          "line": 90,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 1769,
      "end": 1774,
      "loc": {
        "start": {
          "line": 90,
          "column": 18
        },
        "end": {
          "line": 90,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1774,
      "end": 1775,
      "loc": {
        "start": {
          "line": 90,
          "column": 23
        },
        "end": {
          "line": 90,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TOKENS",
      "start": 1775,
      "end": 1781,
      "loc": {
        "start": {
          "line": 90,
          "column": 24
        },
        "end": {
          "line": 90,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1781,
      "end": 1782,
      "loc": {
        "start": {
          "line": 90,
          "column": 30
        },
        "end": {
          "line": 90,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1782,
      "end": 1783,
      "loc": {
        "start": {
          "line": 90,
          "column": 31
        },
        "end": {
          "line": 90,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1783,
      "end": 1784,
      "loc": {
        "start": {
          "line": 90,
          "column": 32
        },
        "end": {
          "line": 90,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1784,
      "end": 1785,
      "loc": {
        "start": {
          "line": 90,
          "column": 33
        },
        "end": {
          "line": 90,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exec",
      "start": 1785,
      "end": 1789,
      "loc": {
        "start": {
          "line": 90,
          "column": 34
        },
        "end": {
          "line": 90,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1789,
      "end": 1790,
      "loc": {
        "start": {
          "line": 90,
          "column": 38
        },
        "end": {
          "line": 90,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1790,
      "end": 1794,
      "loc": {
        "start": {
          "line": 90,
          "column": 39
        },
        "end": {
          "line": 90,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1794,
      "end": 1795,
      "loc": {
        "start": {
          "line": 90,
          "column": 43
        },
        "end": {
          "line": 90,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "program",
      "start": 1795,
      "end": 1802,
      "loc": {
        "start": {
          "line": 90,
          "column": 44
        },
        "end": {
          "line": 90,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1802,
      "end": 1803,
      "loc": {
        "start": {
          "line": 90,
          "column": 51
        },
        "end": {
          "line": 90,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1803,
      "end": 1804,
      "loc": {
        "start": {
          "line": 90,
          "column": 52
        },
        "end": {
          "line": 90,
          "column": 53
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " When matching a expression, add the current line and set the token",
      "start": 1812,
      "end": 1881,
      "loc": {
        "start": {
          "line": 92,
          "column": 6
        },
        "end": {
          "line": 92,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1888,
      "end": 1890,
      "loc": {
        "start": {
          "line": 93,
          "column": 6
        },
        "end": {
          "line": 93,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1891,
      "end": 1892,
      "loc": {
        "start": {
          "line": 93,
          "column": 9
        },
        "end": {
          "line": 93,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 1892,
      "end": 1897,
      "loc": {
        "start": {
          "line": 93,
          "column": 10
        },
        "end": {
          "line": 93,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1898,
      "end": 1901,
      "loc": {
        "start": {
          "line": 93,
          "column": 16
        },
        "end": {
          "line": 93,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 1902,
      "end": 1906,
      "loc": {
        "start": {
          "line": 93,
          "column": 20
        },
        "end": {
          "line": 93,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1906,
      "end": 1907,
      "loc": {
        "start": {
          "line": 93,
          "column": 24
        },
        "end": {
          "line": 93,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1908,
      "end": 1909,
      "loc": {
        "start": {
          "line": 93,
          "column": 26
        },
        "end": {
          "line": 93,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 1918,
      "end": 1923,
      "loc": {
        "start": {
          "line": 94,
          "column": 8
        },
        "end": {
          "line": 94,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1923,
      "end": 1924,
      "loc": {
        "start": {
          "line": 94,
          "column": 13
        },
        "end": {
          "line": 94,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "line",
      "start": 1924,
      "end": 1928,
      "loc": {
        "start": {
          "line": 94,
          "column": 14
        },
        "end": {
          "line": 94,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1929,
      "end": 1930,
      "loc": {
        "start": {
          "line": 94,
          "column": 19
        },
        "end": {
          "line": 94,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1931,
      "end": 1935,
      "loc": {
        "start": {
          "line": 94,
          "column": 21
        },
        "end": {
          "line": 94,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1935,
      "end": 1936,
      "loc": {
        "start": {
          "line": 94,
          "column": 25
        },
        "end": {
          "line": 94,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "line",
      "start": 1936,
      "end": 1940,
      "loc": {
        "start": {
          "line": 94,
          "column": 26
        },
        "end": {
          "line": 94,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1940,
      "end": 1941,
      "loc": {
        "start": {
          "line": 94,
          "column": 30
        },
        "end": {
          "line": 94,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1950,
      "end": 1954,
      "loc": {
        "start": {
          "line": 95,
          "column": 8
        },
        "end": {
          "line": 95,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1954,
      "end": 1955,
      "loc": {
        "start": {
          "line": 95,
          "column": 12
        },
        "end": {
          "line": 95,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 1955,
      "end": 1964,
      "loc": {
        "start": {
          "line": 95,
          "column": 13
        },
        "end": {
          "line": 95,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1965,
      "end": 1966,
      "loc": {
        "start": {
          "line": 95,
          "column": 23
        },
        "end": {
          "line": 95,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 1967,
      "end": 1972,
      "loc": {
        "start": {
          "line": 95,
          "column": 25
        },
        "end": {
          "line": 95,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1972,
      "end": 1973,
      "loc": {
        "start": {
          "line": 95,
          "column": 30
        },
        "end": {
          "line": 95,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TOKENS",
      "start": 1973,
      "end": 1979,
      "loc": {
        "start": {
          "line": 95,
          "column": 31
        },
        "end": {
          "line": 95,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1979,
      "end": 1980,
      "loc": {
        "start": {
          "line": 95,
          "column": 37
        },
        "end": {
          "line": 95,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1980,
      "end": 1981,
      "loc": {
        "start": {
          "line": 95,
          "column": 38
        },
        "end": {
          "line": 95,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1981,
      "end": 1982,
      "loc": {
        "start": {
          "line": 95,
          "column": 39
        },
        "end": {
          "line": 95,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1982,
      "end": 1983,
      "loc": {
        "start": {
          "line": 95,
          "column": 40
        },
        "end": {
          "line": 95,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 1983,
      "end": 1992,
      "loc": {
        "start": {
          "line": 95,
          "column": 41
        },
        "end": {
          "line": 95,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1992,
      "end": 1993,
      "loc": {
        "start": {
          "line": 95,
          "column": 50
        },
        "end": {
          "line": 95,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 2003,
      "end": 2008,
      "loc": {
        "start": {
          "line": 97,
          "column": 8
        },
        "end": {
          "line": 97,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2009,
      "end": 2010,
      "loc": {
        "start": {
          "line": 97,
          "column": 14
        },
        "end": {
          "line": 97,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 2011,
      "end": 2016,
      "loc": {
        "start": {
          "line": 97,
          "column": 16
        },
        "end": {
          "line": 97,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2016,
      "end": 2017,
      "loc": {
        "start": {
          "line": 97,
          "column": 21
        },
        "end": {
          "line": 97,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 2026,
      "end": 2031,
      "loc": {
        "start": {
          "line": 98,
          "column": 8
        },
        "end": {
          "line": 98,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2031,
      "end": 2032,
      "loc": {
        "start": {
          "line": 98,
          "column": 13
        },
        "end": {
          "line": 98,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2039,
      "end": 2040,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2045,
      "end": 2046,
      "loc": {
        "start": {
          "line": 100,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Return the matched token, or null if anything was found",
      "start": 2052,
      "end": 2110,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2115,
      "end": 2121,
      "loc": {
        "start": {
          "line": 103,
          "column": 4
        },
        "end": {
          "line": 103,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 2122,
      "end": 2127,
      "loc": {
        "start": {
          "line": 103,
          "column": 11
        },
        "end": {
          "line": 103,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2127,
      "end": 2128,
      "loc": {
        "start": {
          "line": 103,
          "column": 16
        },
        "end": {
          "line": 103,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2131,
      "end": 2132,
      "loc": {
        "start": {
          "line": 104,
          "column": 2
        },
        "end": {
          "line": 104,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__transformTokens",
      "start": 2136,
      "end": 2153,
      "loc": {
        "start": {
          "line": 106,
          "column": 2
        },
        "end": {
          "line": 106,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2153,
      "end": 2154,
      "loc": {
        "start": {
          "line": 106,
          "column": 19
        },
        "end": {
          "line": 106,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2154,
      "end": 2160,
      "loc": {
        "start": {
          "line": 106,
          "column": 20
        },
        "end": {
          "line": 106,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 106,
          "column": 26
        },
        "end": {
          "line": 106,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2162,
      "end": 2163,
      "loc": {
        "start": {
          "line": 106,
          "column": 28
        },
        "end": {
          "line": 106,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2168,
      "end": 2171,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 107,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2172,
      "end": 2173,
      "loc": {
        "start": {
          "line": 107,
          "column": 8
        },
        "end": {
          "line": 107,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2173,
      "end": 2176,
      "loc": {
        "start": {
          "line": 107,
          "column": 9
        },
        "end": {
          "line": 107,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2177,
      "end": 2178,
      "loc": {
        "start": {
          "line": 107,
          "column": 13
        },
        "end": {
          "line": 107,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2179,
      "end": 2180,
      "loc": {
        "start": {
          "line": 107,
          "column": 15
        },
        "end": {
          "line": 107,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2181,
      "end": 2182,
      "loc": {
        "start": {
          "line": 107,
          "column": 17
        },
        "end": {
          "line": 107,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2182,
      "end": 2183,
      "loc": {
        "start": {
          "line": 107,
          "column": 18
        },
        "end": {
          "line": 107,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2184,
      "end": 2185,
      "loc": {
        "start": {
          "line": 107,
          "column": 20
        },
        "end": {
          "line": 107,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 2186,
      "end": 2187,
      "loc": {
        "start": {
          "line": 107,
          "column": 22
        },
        "end": {
          "line": 107,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2188,
      "end": 2194,
      "loc": {
        "start": {
          "line": 107,
          "column": 24
        },
        "end": {
          "line": 107,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2194,
      "end": 2195,
      "loc": {
        "start": {
          "line": 107,
          "column": 30
        },
        "end": {
          "line": 107,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2195,
      "end": 2201,
      "loc": {
        "start": {
          "line": 107,
          "column": 31
        },
        "end": {
          "line": 107,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2201,
      "end": 2202,
      "loc": {
        "start": {
          "line": 107,
          "column": 37
        },
        "end": {
          "line": 107,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 2203,
      "end": 2205,
      "loc": {
        "start": {
          "line": 107,
          "column": 39
        },
        "end": {
          "line": 107,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2205,
      "end": 2206,
      "loc": {
        "start": {
          "line": 107,
          "column": 41
        },
        "end": {
          "line": 107,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2206,
      "end": 2207,
      "loc": {
        "start": {
          "line": 107,
          "column": 42
        },
        "end": {
          "line": 107,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2208,
      "end": 2209,
      "loc": {
        "start": {
          "line": 107,
          "column": 44
        },
        "end": {
          "line": 107,
          "column": 45
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " x: => \"x\",",
      "start": 2216,
      "end": 2229,
      "loc": {
        "start": {
          "line": 108,
          "column": 6
        },
        "end": {
          "line": 108,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2236,
      "end": 2238,
      "loc": {
        "start": {
          "line": 109,
          "column": 6
        },
        "end": {
          "line": 109,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2239,
      "end": 2240,
      "loc": {
        "start": {
          "line": 109,
          "column": 9
        },
        "end": {
          "line": 109,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2240,
      "end": 2246,
      "loc": {
        "start": {
          "line": 109,
          "column": 10
        },
        "end": {
          "line": 109,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2246,
      "end": 2247,
      "loc": {
        "start": {
          "line": 109,
          "column": 16
        },
        "end": {
          "line": 109,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2247,
      "end": 2248,
      "loc": {
        "start": {
          "line": 109,
          "column": 17
        },
        "end": {
          "line": 109,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2248,
      "end": 2249,
      "loc": {
        "start": {
          "line": 109,
          "column": 18
        },
        "end": {
          "line": 109,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2249,
      "end": 2250,
      "loc": {
        "start": {
          "line": 109,
          "column": 19
        },
        "end": {
          "line": 109,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2250,
      "end": 2254,
      "loc": {
        "start": {
          "line": 109,
          "column": 20
        },
        "end": {
          "line": 109,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2255,
      "end": 2258,
      "loc": {
        "start": {
          "line": 109,
          "column": 25
        },
        "end": {
          "line": 109,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "WORD",
      "start": 2259,
      "end": 2265,
      "loc": {
        "start": {
          "line": 109,
          "column": 29
        },
        "end": {
          "line": 109,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2265,
      "end": 2266,
      "loc": {
        "start": {
          "line": 109,
          "column": 35
        },
        "end": {
          "line": 109,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2267,
      "end": 2268,
      "loc": {
        "start": {
          "line": 109,
          "column": 37
        },
        "end": {
          "line": 109,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2277,
      "end": 2282,
      "loc": {
        "start": {
          "line": 110,
          "column": 8
        },
        "end": {
          "line": 110,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextToken",
      "start": 2283,
      "end": 2292,
      "loc": {
        "start": {
          "line": 110,
          "column": 14
        },
        "end": {
          "line": 110,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2293,
      "end": 2294,
      "loc": {
        "start": {
          "line": 110,
          "column": 24
        },
        "end": {
          "line": 110,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2295,
      "end": 2301,
      "loc": {
        "start": {
          "line": 110,
          "column": 26
        },
        "end": {
          "line": 110,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2301,
      "end": 2302,
      "loc": {
        "start": {
          "line": 110,
          "column": 32
        },
        "end": {
          "line": 110,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2302,
      "end": 2303,
      "loc": {
        "start": {
          "line": 110,
          "column": 33
        },
        "end": {
          "line": 110,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 2304,
      "end": 2305,
      "loc": {
        "start": {
          "line": 110,
          "column": 35
        },
        "end": {
          "line": 110,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2306,
      "end": 2307,
      "loc": {
        "start": {
          "line": 110,
          "column": 37
        },
        "end": {
          "line": 110,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2307,
      "end": 2308,
      "loc": {
        "start": {
          "line": 110,
          "column": 38
        },
        "end": {
          "line": 110,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2308,
      "end": 2309,
      "loc": {
        "start": {
          "line": 110,
          "column": 39
        },
        "end": {
          "line": 110,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2318,
      "end": 2320,
      "loc": {
        "start": {
          "line": 111,
          "column": 8
        },
        "end": {
          "line": 111,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2321,
      "end": 2322,
      "loc": {
        "start": {
          "line": 111,
          "column": 11
        },
        "end": {
          "line": 111,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextToken",
      "start": 2322,
      "end": 2331,
      "loc": {
        "start": {
          "line": 111,
          "column": 12
        },
        "end": {
          "line": 111,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2332,
      "end": 2334,
      "loc": {
        "start": {
          "line": 111,
          "column": 22
        },
        "end": {
          "line": 111,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextToken",
      "start": 2335,
      "end": 2344,
      "loc": {
        "start": {
          "line": 111,
          "column": 25
        },
        "end": {
          "line": 111,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2344,
      "end": 2345,
      "loc": {
        "start": {
          "line": 111,
          "column": 34
        },
        "end": {
          "line": 111,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2345,
      "end": 2350,
      "loc": {
        "start": {
          "line": 111,
          "column": 35
        },
        "end": {
          "line": 111,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2351,
      "end": 2354,
      "loc": {
        "start": {
          "line": 111,
          "column": 41
        },
        "end": {
          "line": 111,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ":",
      "start": 2355,
      "end": 2358,
      "loc": {
        "start": {
          "line": 111,
          "column": 45
        },
        "end": {
          "line": 111,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2358,
      "end": 2359,
      "loc": {
        "start": {
          "line": 111,
          "column": 48
        },
        "end": {
          "line": 111,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2360,
      "end": 2361,
      "loc": {
        "start": {
          "line": 111,
          "column": 50
        },
        "end": {
          "line": 111,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2372,
      "end": 2378,
      "loc": {
        "start": {
          "line": 112,
          "column": 10
        },
        "end": {
          "line": 112,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2378,
      "end": 2379,
      "loc": {
        "start": {
          "line": 112,
          "column": 16
        },
        "end": {
          "line": 112,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2379,
      "end": 2380,
      "loc": {
        "start": {
          "line": 112,
          "column": 17
        },
        "end": {
          "line": 112,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2380,
      "end": 2381,
      "loc": {
        "start": {
          "line": 112,
          "column": 18
        },
        "end": {
          "line": 112,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2381,
      "end": 2382,
      "loc": {
        "start": {
          "line": 112,
          "column": 19
        },
        "end": {
          "line": 112,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2382,
      "end": 2386,
      "loc": {
        "start": {
          "line": 112,
          "column": 20
        },
        "end": {
          "line": 112,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2387,
      "end": 2388,
      "loc": {
        "start": {
          "line": 112,
          "column": 25
        },
        "end": {
          "line": 112,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "STRING",
      "start": 2389,
      "end": 2397,
      "loc": {
        "start": {
          "line": 112,
          "column": 27
        },
        "end": {
          "line": 112,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2397,
      "end": 2398,
      "loc": {
        "start": {
          "line": 112,
          "column": 35
        },
        "end": {
          "line": 112,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2407,
      "end": 2408,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2415,
      "end": 2416,
      "loc": {
        "start": {
          "line": 114,
          "column": 6
        },
        "end": {
          "line": 114,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Replace dots with parentehsis",
      "start": 2424,
      "end": 2456,
      "loc": {
        "start": {
          "line": 116,
          "column": 6
        },
        "end": {
          "line": 116,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " a.b   =>    a(\"b\")",
      "start": 2463,
      "end": 2484,
      "loc": {
        "start": {
          "line": 117,
          "column": 6
        },
        "end": {
          "line": 117,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " a.b.c   =>  a(\"b\")(\"c\")",
      "start": 2491,
      "end": 2517,
      "loc": {
        "start": {
          "line": 118,
          "column": 6
        },
        "end": {
          "line": 118,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " a.b(c, d)   => a(\"b\", c, d)",
      "start": 2524,
      "end": 2554,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2561,
      "end": 2563,
      "loc": {
        "start": {
          "line": 120,
          "column": 6
        },
        "end": {
          "line": 120,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2564,
      "end": 2565,
      "loc": {
        "start": {
          "line": 120,
          "column": 9
        },
        "end": {
          "line": 120,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2565,
      "end": 2571,
      "loc": {
        "start": {
          "line": 120,
          "column": 10
        },
        "end": {
          "line": 120,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2571,
      "end": 2572,
      "loc": {
        "start": {
          "line": 120,
          "column": 16
        },
        "end": {
          "line": 120,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2572,
      "end": 2573,
      "loc": {
        "start": {
          "line": 120,
          "column": 17
        },
        "end": {
          "line": 120,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2573,
      "end": 2574,
      "loc": {
        "start": {
          "line": 120,
          "column": 18
        },
        "end": {
          "line": 120,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2574,
      "end": 2575,
      "loc": {
        "start": {
          "line": 120,
          "column": 19
        },
        "end": {
          "line": 120,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2575,
      "end": 2579,
      "loc": {
        "start": {
          "line": 120,
          "column": 20
        },
        "end": {
          "line": 120,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2580,
      "end": 2583,
      "loc": {
        "start": {
          "line": 120,
          "column": 25
        },
        "end": {
          "line": 120,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "LP",
      "start": 2584,
      "end": 2588,
      "loc": {
        "start": {
          "line": 120,
          "column": 29
        },
        "end": {
          "line": 120,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2589,
      "end": 2591,
      "loc": {
        "start": {
          "line": 120,
          "column": 34
        },
        "end": {
          "line": 120,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2592,
      "end": 2598,
      "loc": {
        "start": {
          "line": 120,
          "column": 37
        },
        "end": {
          "line": 120,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2598,
      "end": 2599,
      "loc": {
        "start": {
          "line": 120,
          "column": 43
        },
        "end": {
          "line": 120,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2599,
      "end": 2600,
      "loc": {
        "start": {
          "line": 120,
          "column": 44
        },
        "end": {
          "line": 120,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2600,
      "end": 2601,
      "loc": {
        "start": {
          "line": 120,
          "column": 45
        },
        "end": {
          "line": 120,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2601,
      "end": 2602,
      "loc": {
        "start": {
          "line": 120,
          "column": 46
        },
        "end": {
          "line": 120,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2602,
      "end": 2607,
      "loc": {
        "start": {
          "line": 120,
          "column": 47
        },
        "end": {
          "line": 120,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2608,
      "end": 2611,
      "loc": {
        "start": {
          "line": 120,
          "column": 53
        },
        "end": {
          "line": 120,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 2612,
      "end": 2615,
      "loc": {
        "start": {
          "line": 120,
          "column": 57
        },
        "end": {
          "line": 120,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2615,
      "end": 2616,
      "loc": {
        "start": {
          "line": 120,
          "column": 60
        },
        "end": {
          "line": 120,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2617,
      "end": 2618,
      "loc": {
        "start": {
          "line": 120,
          "column": 62
        },
        "end": {
          "line": 120,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2627,
      "end": 2633,
      "loc": {
        "start": {
          "line": 121,
          "column": 8
        },
        "end": {
          "line": 121,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2633,
      "end": 2634,
      "loc": {
        "start": {
          "line": 121,
          "column": 14
        },
        "end": {
          "line": 121,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2634,
      "end": 2635,
      "loc": {
        "start": {
          "line": 121,
          "column": 15
        },
        "end": {
          "line": 121,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2635,
      "end": 2636,
      "loc": {
        "start": {
          "line": 121,
          "column": 16
        },
        "end": {
          "line": 121,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2636,
      "end": 2637,
      "loc": {
        "start": {
          "line": 121,
          "column": 17
        },
        "end": {
          "line": 121,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2637,
      "end": 2642,
      "loc": {
        "start": {
          "line": 121,
          "column": 18
        },
        "end": {
          "line": 121,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2643,
      "end": 2644,
      "loc": {
        "start": {
          "line": 121,
          "column": 24
        },
        "end": {
          "line": 121,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "(",
      "start": 2645,
      "end": 2648,
      "loc": {
        "start": {
          "line": 121,
          "column": 26
        },
        "end": {
          "line": 121,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2648,
      "end": 2649,
      "loc": {
        "start": {
          "line": 121,
          "column": 29
        },
        "end": {
          "line": 121,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2659,
      "end": 2664,
      "loc": {
        "start": {
          "line": 123,
          "column": 8
        },
        "end": {
          "line": 123,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "expr",
      "start": 2665,
      "end": 2669,
      "loc": {
        "start": {
          "line": 123,
          "column": 14
        },
        "end": {
          "line": 123,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2670,
      "end": 2671,
      "loc": {
        "start": {
          "line": 123,
          "column": 19
        },
        "end": {
          "line": 123,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2672,
      "end": 2678,
      "loc": {
        "start": {
          "line": 123,
          "column": 21
        },
        "end": {
          "line": 123,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2678,
      "end": 2679,
      "loc": {
        "start": {
          "line": 123,
          "column": 27
        },
        "end": {
          "line": 123,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2679,
      "end": 2680,
      "loc": {
        "start": {
          "line": 123,
          "column": 28
        },
        "end": {
          "line": 123,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 2681,
      "end": 2682,
      "loc": {
        "start": {
          "line": 123,
          "column": 30
        },
        "end": {
          "line": 123,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2683,
      "end": 2684,
      "loc": {
        "start": {
          "line": 123,
          "column": 32
        },
        "end": {
          "line": 123,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2684,
      "end": 2685,
      "loc": {
        "start": {
          "line": 123,
          "column": 33
        },
        "end": {
          "line": 123,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2685,
      "end": 2686,
      "loc": {
        "start": {
          "line": 123,
          "column": 34
        },
        "end": {
          "line": 123,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2695,
      "end": 2700,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arg",
      "start": 2701,
      "end": 2704,
      "loc": {
        "start": {
          "line": 124,
          "column": 14
        },
        "end": {
          "line": 124,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2705,
      "end": 2706,
      "loc": {
        "start": {
          "line": 124,
          "column": 18
        },
        "end": {
          "line": 124,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2707,
      "end": 2713,
      "loc": {
        "start": {
          "line": 124,
          "column": 20
        },
        "end": {
          "line": 124,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2713,
      "end": 2714,
      "loc": {
        "start": {
          "line": 124,
          "column": 26
        },
        "end": {
          "line": 124,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2714,
      "end": 2715,
      "loc": {
        "start": {
          "line": 124,
          "column": 27
        },
        "end": {
          "line": 124,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 2716,
      "end": 2717,
      "loc": {
        "start": {
          "line": 124,
          "column": 29
        },
        "end": {
          "line": 124,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 2718,
      "end": 2719,
      "loc": {
        "start": {
          "line": 124,
          "column": 31
        },
        "end": {
          "line": 124,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2719,
      "end": 2720,
      "loc": {
        "start": {
          "line": 124,
          "column": 32
        },
        "end": {
          "line": 124,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2720,
      "end": 2721,
      "loc": {
        "start": {
          "line": 124,
          "column": 33
        },
        "end": {
          "line": 124,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2731,
      "end": 2733,
      "loc": {
        "start": {
          "line": 126,
          "column": 8
        },
        "end": {
          "line": 126,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2734,
      "end": 2735,
      "loc": {
        "start": {
          "line": 126,
          "column": 11
        },
        "end": {
          "line": 126,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "expr",
      "start": 2735,
      "end": 2739,
      "loc": {
        "start": {
          "line": 126,
          "column": 12
        },
        "end": {
          "line": 126,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2740,
      "end": 2742,
      "loc": {
        "start": {
          "line": 126,
          "column": 17
        },
        "end": {
          "line": 126,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "expr",
      "start": 2743,
      "end": 2747,
      "loc": {
        "start": {
          "line": 126,
          "column": 20
        },
        "end": {
          "line": 126,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2747,
      "end": 2748,
      "loc": {
        "start": {
          "line": 126,
          "column": 24
        },
        "end": {
          "line": 126,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2748,
      "end": 2752,
      "loc": {
        "start": {
          "line": 126,
          "column": 25
        },
        "end": {
          "line": 126,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2753,
      "end": 2756,
      "loc": {
        "start": {
          "line": 126,
          "column": 30
        },
        "end": {
          "line": 126,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "WORD",
      "start": 2757,
      "end": 2763,
      "loc": {
        "start": {
          "line": 126,
          "column": 34
        },
        "end": {
          "line": 126,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2763,
      "end": 2764,
      "loc": {
        "start": {
          "line": 126,
          "column": 40
        },
        "end": {
          "line": 126,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2765,
      "end": 2766,
      "loc": {
        "start": {
          "line": 126,
          "column": 42
        },
        "end": {
          "line": 126,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "expr",
      "start": 2777,
      "end": 2781,
      "loc": {
        "start": {
          "line": 127,
          "column": 10
        },
        "end": {
          "line": 127,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2781,
      "end": 2782,
      "loc": {
        "start": {
          "line": 127,
          "column": 14
        },
        "end": {
          "line": 127,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2782,
      "end": 2786,
      "loc": {
        "start": {
          "line": 127,
          "column": 15
        },
        "end": {
          "line": 127,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2787,
      "end": 2788,
      "loc": {
        "start": {
          "line": 127,
          "column": 20
        },
        "end": {
          "line": 127,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "STRING",
      "start": 2789,
      "end": 2797,
      "loc": {
        "start": {
          "line": 127,
          "column": 22
        },
        "end": {
          "line": 127,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2797,
      "end": 2798,
      "loc": {
        "start": {
          "line": 127,
          "column": 30
        },
        "end": {
          "line": 127,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2807,
      "end": 2808,
      "loc": {
        "start": {
          "line": 128,
          "column": 8
        },
        "end": {
          "line": 128,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2818,
      "end": 2820,
      "loc": {
        "start": {
          "line": 130,
          "column": 8
        },
        "end": {
          "line": 130,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2821,
      "end": 2822,
      "loc": {
        "start": {
          "line": 130,
          "column": 11
        },
        "end": {
          "line": 130,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arg",
      "start": 2822,
      "end": 2825,
      "loc": {
        "start": {
          "line": 130,
          "column": 12
        },
        "end": {
          "line": 130,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2826,
      "end": 2828,
      "loc": {
        "start": {
          "line": 130,
          "column": 16
        },
        "end": {
          "line": 130,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arg",
      "start": 2829,
      "end": 2832,
      "loc": {
        "start": {
          "line": 130,
          "column": 19
        },
        "end": {
          "line": 130,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2832,
      "end": 2833,
      "loc": {
        "start": {
          "line": 130,
          "column": 22
        },
        "end": {
          "line": 130,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2833,
      "end": 2837,
      "loc": {
        "start": {
          "line": 130,
          "column": 23
        },
        "end": {
          "line": 130,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2838,
      "end": 2841,
      "loc": {
        "start": {
          "line": 130,
          "column": 28
        },
        "end": {
          "line": 130,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "LP",
      "start": 2842,
      "end": 2846,
      "loc": {
        "start": {
          "line": 130,
          "column": 32
        },
        "end": {
          "line": 130,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2847,
      "end": 2849,
      "loc": {
        "start": {
          "line": 130,
          "column": 37
        },
        "end": {
          "line": 130,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arg",
      "start": 2850,
      "end": 2853,
      "loc": {
        "start": {
          "line": 130,
          "column": 40
        },
        "end": {
          "line": 130,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2853,
      "end": 2854,
      "loc": {
        "start": {
          "line": 130,
          "column": 43
        },
        "end": {
          "line": 130,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2854,
      "end": 2859,
      "loc": {
        "start": {
          "line": 130,
          "column": 44
        },
        "end": {
          "line": 130,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 2860,
      "end": 2863,
      "loc": {
        "start": {
          "line": 130,
          "column": 50
        },
        "end": {
          "line": 130,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 2864,
      "end": 2867,
      "loc": {
        "start": {
          "line": 130,
          "column": 54
        },
        "end": {
          "line": 130,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2867,
      "end": 2868,
      "loc": {
        "start": {
          "line": 130,
          "column": 57
        },
        "end": {
          "line": 130,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2869,
      "end": 2870,
      "loc": {
        "start": {
          "line": 130,
          "column": 59
        },
        "end": {
          "line": 130,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arg",
      "start": 2881,
      "end": 2884,
      "loc": {
        "start": {
          "line": 131,
          "column": 10
        },
        "end": {
          "line": 131,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2884,
      "end": 2885,
      "loc": {
        "start": {
          "line": 131,
          "column": 13
        },
        "end": {
          "line": 131,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2885,
      "end": 2889,
      "loc": {
        "start": {
          "line": 131,
          "column": 14
        },
        "end": {
          "line": 131,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2890,
      "end": 2891,
      "loc": {
        "start": {
          "line": 131,
          "column": 19
        },
        "end": {
          "line": 131,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "COMMA",
      "start": 2892,
      "end": 2899,
      "loc": {
        "start": {
          "line": 131,
          "column": 21
        },
        "end": {
          "line": 131,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2899,
      "end": 2900,
      "loc": {
        "start": {
          "line": 131,
          "column": 28
        },
        "end": {
          "line": 131,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arg",
      "start": 2911,
      "end": 2914,
      "loc": {
        "start": {
          "line": 132,
          "column": 10
        },
        "end": {
          "line": 132,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2914,
      "end": 2915,
      "loc": {
        "start": {
          "line": 132,
          "column": 13
        },
        "end": {
          "line": 132,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2915,
      "end": 2920,
      "loc": {
        "start": {
          "line": 132,
          "column": 14
        },
        "end": {
          "line": 132,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2921,
      "end": 2922,
      "loc": {
        "start": {
          "line": 132,
          "column": 20
        },
        "end": {
          "line": 132,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ",",
      "start": 2923,
      "end": 2926,
      "loc": {
        "start": {
          "line": 132,
          "column": 22
        },
        "end": {
          "line": 132,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2926,
      "end": 2927,
      "loc": {
        "start": {
          "line": 132,
          "column": 25
        },
        "end": {
          "line": 132,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2936,
      "end": 2937,
      "loc": {
        "start": {
          "line": 133,
          "column": 8
        },
        "end": {
          "line": 133,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 2938,
      "end": 2942,
      "loc": {
        "start": {
          "line": 133,
          "column": 10
        },
        "end": {
          "line": 133,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2943,
      "end": 2944,
      "loc": {
        "start": {
          "line": 133,
          "column": 15
        },
        "end": {
          "line": 133,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 2955,
      "end": 2961,
      "loc": {
        "start": {
          "line": 134,
          "column": 10
        },
        "end": {
          "line": 134,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2961,
      "end": 2962,
      "loc": {
        "start": {
          "line": 134,
          "column": 16
        },
        "end": {
          "line": 134,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "splice",
      "start": 2962,
      "end": 2968,
      "loc": {
        "start": {
          "line": 134,
          "column": 17
        },
        "end": {
          "line": 134,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2968,
      "end": 2969,
      "loc": {
        "start": {
          "line": 134,
          "column": 23
        },
        "end": {
          "line": 134,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2969,
      "end": 2970,
      "loc": {
        "start": {
          "line": 134,
          "column": 24
        },
        "end": {
          "line": 134,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 2971,
      "end": 2972,
      "loc": {
        "start": {
          "line": 134,
          "column": 26
        },
        "end": {
          "line": 134,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 2973,
      "end": 2974,
      "loc": {
        "start": {
          "line": 134,
          "column": 28
        },
        "end": {
          "line": 134,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2974,
      "end": 2975,
      "loc": {
        "start": {
          "line": 134,
          "column": 29
        },
        "end": {
          "line": 134,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2976,
      "end": 2977,
      "loc": {
        "start": {
          "line": 134,
          "column": 31
        },
        "end": {
          "line": 134,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2977,
      "end": 2978,
      "loc": {
        "start": {
          "line": 134,
          "column": 32
        },
        "end": {
          "line": 134,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2979,
      "end": 2980,
      "loc": {
        "start": {
          "line": 134,
          "column": 34
        },
        "end": {
          "line": 134,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2981,
      "end": 2985,
      "loc": {
        "start": {
          "line": 134,
          "column": 36
        },
        "end": {
          "line": 134,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2985,
      "end": 2986,
      "loc": {
        "start": {
          "line": 134,
          "column": 40
        },
        "end": {
          "line": 134,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "RP",
      "start": 2987,
      "end": 2991,
      "loc": {
        "start": {
          "line": 134,
          "column": 42
        },
        "end": {
          "line": 134,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2991,
      "end": 2992,
      "loc": {
        "start": {
          "line": 134,
          "column": 46
        },
        "end": {
          "line": 134,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2993,
      "end": 2998,
      "loc": {
        "start": {
          "line": 134,
          "column": 48
        },
        "end": {
          "line": 134,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2998,
      "end": 2999,
      "loc": {
        "start": {
          "line": 134,
          "column": 53
        },
        "end": {
          "line": 134,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ")",
      "start": 3000,
      "end": 3003,
      "loc": {
        "start": {
          "line": 134,
          "column": 55
        },
        "end": {
          "line": 134,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3004,
      "end": 3005,
      "loc": {
        "start": {
          "line": 134,
          "column": 59
        },
        "end": {
          "line": 134,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3005,
      "end": 3006,
      "loc": {
        "start": {
          "line": 134,
          "column": 60
        },
        "end": {
          "line": 134,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3006,
      "end": 3007,
      "loc": {
        "start": {
          "line": 134,
          "column": 61
        },
        "end": {
          "line": 134,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3016,
      "end": 3017,
      "loc": {
        "start": {
          "line": 135,
          "column": 8
        },
        "end": {
          "line": 135,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3024,
      "end": 3025,
      "loc": {
        "start": {
          "line": 136,
          "column": 6
        },
        "end": {
          "line": 136,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3030,
      "end": 3031,
      "loc": {
        "start": {
          "line": 137,
          "column": 4
        },
        "end": {
          "line": 137,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3037,
      "end": 3043,
      "loc": {
        "start": {
          "line": 139,
          "column": 4
        },
        "end": {
          "line": 139,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokens",
      "start": 3044,
      "end": 3050,
      "loc": {
        "start": {
          "line": 139,
          "column": 11
        },
        "end": {
          "line": 139,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3050,
      "end": 3051,
      "loc": {
        "start": {
          "line": 139,
          "column": 17
        },
        "end": {
          "line": 139,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3054,
      "end": 3055,
      "loc": {
        "start": {
          "line": 140,
          "column": 2
        },
        "end": {
          "line": 140,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__updateLastIndices",
      "start": 3059,
      "end": 3078,
      "loc": {
        "start": {
          "line": 142,
          "column": 2
        },
        "end": {
          "line": 142,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3078,
      "end": 3079,
      "loc": {
        "start": {
          "line": 142,
          "column": 21
        },
        "end": {
          "line": 142,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3079,
      "end": 3080,
      "loc": {
        "start": {
          "line": 142,
          "column": 22
        },
        "end": {
          "line": 142,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3081,
      "end": 3082,
      "loc": {
        "start": {
          "line": 142,
          "column": 24
        },
        "end": {
          "line": 142,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3087,
      "end": 3092,
      "loc": {
        "start": {
          "line": 143,
          "column": 4
        },
        "end": {
          "line": 143,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3092,
      "end": 3093,
      "loc": {
        "start": {
          "line": 143,
          "column": 9
        },
        "end": {
          "line": 143,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TOKENS",
      "start": 3093,
      "end": 3099,
      "loc": {
        "start": {
          "line": 143,
          "column": 10
        },
        "end": {
          "line": 143,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3099,
      "end": 3100,
      "loc": {
        "start": {
          "line": 143,
          "column": 16
        },
        "end": {
          "line": 143,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 3100,
      "end": 3107,
      "loc": {
        "start": {
          "line": 143,
          "column": 17
        },
        "end": {
          "line": 143,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3107,
      "end": 3108,
      "loc": {
        "start": {
          "line": 143,
          "column": 24
        },
        "end": {
          "line": 143,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "expr",
      "start": 3108,
      "end": 3112,
      "loc": {
        "start": {
          "line": 143,
          "column": 25
        },
        "end": {
          "line": 143,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3113,
      "end": 3115,
      "loc": {
        "start": {
          "line": 143,
          "column": 30
        },
        "end": {
          "line": 143,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3116,
      "end": 3117,
      "loc": {
        "start": {
          "line": 143,
          "column": 33
        },
        "end": {
          "line": 143,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "expr",
      "start": 3124,
      "end": 3128,
      "loc": {
        "start": {
          "line": 144,
          "column": 6
        },
        "end": {
          "line": 144,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3128,
      "end": 3129,
      "loc": {
        "start": {
          "line": 144,
          "column": 10
        },
        "end": {
          "line": 144,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 3129,
      "end": 3138,
      "loc": {
        "start": {
          "line": 144,
          "column": 11
        },
        "end": {
          "line": 144,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3139,
      "end": 3140,
      "loc": {
        "start": {
          "line": 144,
          "column": 21
        },
        "end": {
          "line": 144,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3141,
      "end": 3145,
      "loc": {
        "start": {
          "line": 144,
          "column": 23
        },
        "end": {
          "line": 144,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3145,
      "end": 3146,
      "loc": {
        "start": {
          "line": 144,
          "column": 27
        },
        "end": {
          "line": 144,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 3146,
      "end": 3155,
      "loc": {
        "start": {
          "line": 144,
          "column": 28
        },
        "end": {
          "line": 144,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3155,
      "end": 3156,
      "loc": {
        "start": {
          "line": 144,
          "column": 37
        },
        "end": {
          "line": 144,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3161,
      "end": 3162,
      "loc": {
        "start": {
          "line": 145,
          "column": 4
        },
        "end": {
          "line": 145,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3162,
      "end": 3163,
      "loc": {
        "start": {
          "line": 145,
          "column": 5
        },
        "end": {
          "line": 145,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3163,
      "end": 3164,
      "loc": {
        "start": {
          "line": 145,
          "column": 6
        },
        "end": {
          "line": 145,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3169,
      "end": 3174,
      "loc": {
        "start": {
          "line": 146,
          "column": 4
        },
        "end": {
          "line": 146,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3174,
      "end": 3175,
      "loc": {
        "start": {
          "line": 146,
          "column": 9
        },
        "end": {
          "line": 146,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "WHITES",
      "start": 3175,
      "end": 3181,
      "loc": {
        "start": {
          "line": 146,
          "column": 10
        },
        "end": {
          "line": 146,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3181,
      "end": 3182,
      "loc": {
        "start": {
          "line": 146,
          "column": 16
        },
        "end": {
          "line": 146,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 3182,
      "end": 3191,
      "loc": {
        "start": {
          "line": 146,
          "column": 17
        },
        "end": {
          "line": 146,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3192,
      "end": 3193,
      "loc": {
        "start": {
          "line": 146,
          "column": 27
        },
        "end": {
          "line": 146,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3194,
      "end": 3198,
      "loc": {
        "start": {
          "line": 146,
          "column": 29
        },
        "end": {
          "line": 146,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3198,
      "end": 3199,
      "loc": {
        "start": {
          "line": 146,
          "column": 33
        },
        "end": {
          "line": 146,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 3199,
      "end": 3208,
      "loc": {
        "start": {
          "line": 146,
          "column": 34
        },
        "end": {
          "line": 146,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3208,
      "end": 3209,
      "loc": {
        "start": {
          "line": 146,
          "column": 43
        },
        "end": {
          "line": 146,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3214,
      "end": 3219,
      "loc": {
        "start": {
          "line": 147,
          "column": 4
        },
        "end": {
          "line": 147,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3219,
      "end": 3220,
      "loc": {
        "start": {
          "line": 147,
          "column": 9
        },
        "end": {
          "line": 147,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NEWLINE",
      "start": 3220,
      "end": 3227,
      "loc": {
        "start": {
          "line": 147,
          "column": 10
        },
        "end": {
          "line": 147,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3227,
      "end": 3228,
      "loc": {
        "start": {
          "line": 147,
          "column": 17
        },
        "end": {
          "line": 147,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 3228,
      "end": 3237,
      "loc": {
        "start": {
          "line": 147,
          "column": 18
        },
        "end": {
          "line": 147,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3238,
      "end": 3239,
      "loc": {
        "start": {
          "line": 147,
          "column": 28
        },
        "end": {
          "line": 147,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3240,
      "end": 3244,
      "loc": {
        "start": {
          "line": 147,
          "column": 30
        },
        "end": {
          "line": 147,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3244,
      "end": 3245,
      "loc": {
        "start": {
          "line": 147,
          "column": 34
        },
        "end": {
          "line": 147,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastIndex",
      "start": 3245,
      "end": 3254,
      "loc": {
        "start": {
          "line": 147,
          "column": 35
        },
        "end": {
          "line": 147,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3254,
      "end": 3255,
      "loc": {
        "start": {
          "line": 147,
          "column": 44
        },
        "end": {
          "line": 147,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3258,
      "end": 3259,
      "loc": {
        "start": {
          "line": 148,
          "column": 2
        },
        "end": {
          "line": 148,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3260,
      "end": 3261,
      "loc": {
        "start": {
          "line": 149,
          "column": 0
        },
        "end": {
          "line": 149,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3263,
      "end": 3268,
      "loc": {
        "start": {
          "line": 151,
          "column": 0
        },
        "end": {
          "line": 151,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3268,
      "end": 3269,
      "loc": {
        "start": {
          "line": 151,
          "column": 5
        },
        "end": {
          "line": 151,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TOKENS",
      "start": 3269,
      "end": 3275,
      "loc": {
        "start": {
          "line": 151,
          "column": 6
        },
        "end": {
          "line": 151,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3276,
      "end": 3277,
      "loc": {
        "start": {
          "line": 151,
          "column": 13
        },
        "end": {
          "line": 151,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3278,
      "end": 3279,
      "loc": {
        "start": {
          "line": 151,
          "column": 15
        },
        "end": {
          "line": 151,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3282,
      "end": 3292,
      "loc": {
        "start": {
          "line": 152,
          "column": 2
        },
        "end": {
          "line": 152,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3292,
      "end": 3293,
      "loc": {
        "start": {
          "line": 152,
          "column": 12
        },
        "end": {
          "line": 152,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NUMBER",
      "start": 3293,
      "end": 3299,
      "loc": {
        "start": {
          "line": 152,
          "column": 13
        },
        "end": {
          "line": 152,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3299,
      "end": 3300,
      "loc": {
        "start": {
          "line": 152,
          "column": 19
        },
        "end": {
          "line": 152,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3303,
      "end": 3313,
      "loc": {
        "start": {
          "line": 153,
          "column": 2
        },
        "end": {
          "line": 153,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3313,
      "end": 3314,
      "loc": {
        "start": {
          "line": 153,
          "column": 12
        },
        "end": {
          "line": 153,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "STRING",
      "start": 3314,
      "end": 3320,
      "loc": {
        "start": {
          "line": 153,
          "column": 13
        },
        "end": {
          "line": 153,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3320,
      "end": 3321,
      "loc": {
        "start": {
          "line": 153,
          "column": 19
        },
        "end": {
          "line": 153,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3324,
      "end": 3334,
      "loc": {
        "start": {
          "line": 154,
          "column": 2
        },
        "end": {
          "line": 154,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3334,
      "end": 3335,
      "loc": {
        "start": {
          "line": 154,
          "column": 12
        },
        "end": {
          "line": 154,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "REGEX",
      "start": 3335,
      "end": 3340,
      "loc": {
        "start": {
          "line": 154,
          "column": 13
        },
        "end": {
          "line": 154,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3340,
      "end": 3341,
      "loc": {
        "start": {
          "line": 154,
          "column": 18
        },
        "end": {
          "line": 154,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3344,
      "end": 3354,
      "loc": {
        "start": {
          "line": 155,
          "column": 2
        },
        "end": {
          "line": 155,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3354,
      "end": 3355,
      "loc": {
        "start": {
          "line": 155,
          "column": 12
        },
        "end": {
          "line": 155,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "WORD",
      "start": 3355,
      "end": 3359,
      "loc": {
        "start": {
          "line": 155,
          "column": 13
        },
        "end": {
          "line": 155,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3359,
      "end": 3360,
      "loc": {
        "start": {
          "line": 155,
          "column": 17
        },
        "end": {
          "line": 155,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3363,
      "end": 3373,
      "loc": {
        "start": {
          "line": 156,
          "column": 2
        },
        "end": {
          "line": 156,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3373,
      "end": 3374,
      "loc": {
        "start": {
          "line": 156,
          "column": 12
        },
        "end": {
          "line": 156,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "LP",
      "start": 3374,
      "end": 3376,
      "loc": {
        "start": {
          "line": 156,
          "column": 13
        },
        "end": {
          "line": 156,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3376,
      "end": 3377,
      "loc": {
        "start": {
          "line": 156,
          "column": 15
        },
        "end": {
          "line": 156,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3380,
      "end": 3390,
      "loc": {
        "start": {
          "line": 157,
          "column": 2
        },
        "end": {
          "line": 157,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3390,
      "end": 3391,
      "loc": {
        "start": {
          "line": 157,
          "column": 12
        },
        "end": {
          "line": 157,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RP",
      "start": 3391,
      "end": 3393,
      "loc": {
        "start": {
          "line": 157,
          "column": 13
        },
        "end": {
          "line": 157,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3393,
      "end": 3394,
      "loc": {
        "start": {
          "line": 157,
          "column": 15
        },
        "end": {
          "line": 157,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3397,
      "end": 3407,
      "loc": {
        "start": {
          "line": 158,
          "column": 2
        },
        "end": {
          "line": 158,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3407,
      "end": 3408,
      "loc": {
        "start": {
          "line": 158,
          "column": 12
        },
        "end": {
          "line": 158,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "COMMA",
      "start": 3408,
      "end": 3413,
      "loc": {
        "start": {
          "line": 158,
          "column": 13
        },
        "end": {
          "line": 158,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3414,
      "end": 3415,
      "loc": {
        "start": {
          "line": 159,
          "column": 0
        },
        "end": {
          "line": 159,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3415,
      "end": 3416,
      "loc": {
        "start": {
          "line": 159,
          "column": 1
        },
        "end": {
          "line": 159,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3418,
      "end": 3423,
      "loc": {
        "start": {
          "line": 161,
          "column": 0
        },
        "end": {
          "line": 161,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3423,
      "end": 3424,
      "loc": {
        "start": {
          "line": 161,
          "column": 5
        },
        "end": {
          "line": 161,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "WHITES",
      "start": 3424,
      "end": 3430,
      "loc": {
        "start": {
          "line": 161,
          "column": 6
        },
        "end": {
          "line": 161,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3431,
      "end": 3432,
      "loc": {
        "start": {
          "line": 161,
          "column": 13
        },
        "end": {
          "line": 161,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3433,
      "end": 3443,
      "loc": {
        "start": {
          "line": 161,
          "column": 15
        },
        "end": {
          "line": 161,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3443,
      "end": 3444,
      "loc": {
        "start": {
          "line": 161,
          "column": 25
        },
        "end": {
          "line": 161,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "WHITES",
      "start": 3444,
      "end": 3450,
      "loc": {
        "start": {
          "line": 161,
          "column": 26
        },
        "end": {
          "line": 161,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3450,
      "end": 3451,
      "loc": {
        "start": {
          "line": 161,
          "column": 32
        },
        "end": {
          "line": 161,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3452,
      "end": 3457,
      "loc": {
        "start": {
          "line": 162,
          "column": 0
        },
        "end": {
          "line": 162,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3457,
      "end": 3458,
      "loc": {
        "start": {
          "line": 162,
          "column": 5
        },
        "end": {
          "line": 162,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NEWLINE",
      "start": 3458,
      "end": 3465,
      "loc": {
        "start": {
          "line": 162,
          "column": 6
        },
        "end": {
          "line": 162,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3466,
      "end": 3467,
      "loc": {
        "start": {
          "line": 162,
          "column": 14
        },
        "end": {
          "line": 162,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tokenRegex",
      "start": 3468,
      "end": 3478,
      "loc": {
        "start": {
          "line": 162,
          "column": 16
        },
        "end": {
          "line": 162,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3478,
      "end": 3479,
      "loc": {
        "start": {
          "line": 162,
          "column": 26
        },
        "end": {
          "line": 162,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NEWLINE",
      "start": 3479,
      "end": 3486,
      "loc": {
        "start": {
          "line": 162,
          "column": 27
        },
        "end": {
          "line": 162,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3486,
      "end": 3487,
      "loc": {
        "start": {
          "line": 162,
          "column": 34
        },
        "end": {
          "line": 162,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 3489,
      "end": 3495,
      "loc": {
        "start": {
          "line": 164,
          "column": 0
        },
        "end": {
          "line": 164,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3496,
      "end": 3497,
      "loc": {
        "start": {
          "line": 164,
          "column": 7
        },
        "end": {
          "line": 164,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lexer",
      "start": 3498,
      "end": 3503,
      "loc": {
        "start": {
          "line": 164,
          "column": 9
        },
        "end": {
          "line": 164,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3504,
      "end": 3505,
      "loc": {
        "start": {
          "line": 164,
          "column": 15
        },
        "end": {
          "line": 164,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3505,
      "end": 3506,
      "loc": {
        "start": {
          "line": 164,
          "column": 16
        },
        "end": {
          "line": 164,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3507,
      "end": 3507,
      "loc": {
        "start": {
          "line": 165,
          "column": 0
        },
        "end": {
          "line": 165,
          "column": 0
        }
      }
    }
  ]
}