)]}'
{
  "commit": "05f47385e82949e1576e33eefc1a5d7b44461ef8",
  "tree": "59a6a286bf24c86e1f4c672c1b0bd2d6a078c6ee",
  "parents": [
    "1b62260d94535be3de14e11bb4a410d2f3d840f2"
  ],
  "author": {
    "name": "dplotnikov",
    "email": "dplotnikov@google.com",
    "time": "Thu Aug 27 01:21:48 2026"
  },
  "committer": {
    "name": "dplotnikov",
    "email": "dplotnikov@google.com",
    "time": "Thu Aug 27 01:36:24 2026"
  },
  "message": "[Pratt parser] Add parser recursion depth benchmark test\n\nAdd TestParserRecursionDepth to measure stack memory consumption and crash boundaries when parsing deeply nested expressions in ANTLR vs Pratt parsers.\n\n### Recursion Depth Comparison (Stack: 64 KB, Max Depth: 1000)\n\n| Category | ANTLR (Max Depth OK) | Pratt (Max Depth OK) | Pratt Advantage |\n| :--- | :--- | :--- | :--- |\n| **Parens** (`(((...42...)))`) | 20 | unlimited | **unlimited** |\n| **Unary** (`! ! ! ... true`) | unlimited | unlimited | **1.0x** |\n| **Binary** (`1 + (1 + (...42...))`) | 21 | 93 | **~4.4x** |\n| **List** (`[[[...42...]]]`) | 18 | 85 | **~4.7x** |\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "138b9ee5294d521f414bf298b3ed777328240142",
      "old_mode": 33188,
      "old_path": "parser/BUILD.bazel",
      "new_id": "acec54954b029e71b093b161661d1f590680d603",
      "new_mode": 33188,
      "new_path": "parser/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2574472605702e5216db299c4398051d8535fdb",
      "new_mode": 33188,
      "new_path": "parser/parser_recursion_test.go"
    }
  ]
}
