{
  "schema": "wok-coverage/1",
  "commit": "084deda",
  "generated_at": "2026-08-10T11:39:41Z",
  "tool": "lcov+gcov (gcc)",
  "totals": {
    "files": 21,
    "lines": {
      "found": 5059,
      "hit": 4790,
      "pct": 94.7
    },
    "functions": {
      "found": 686,
      "hit": 673,
      "pct": 98.1
    }
  },
  "files": [
    {
      "path": "grammar/c/cmd/wokfmt.c",
      "lines": {
        "found": 114,
        "hit": 86,
        "pct": 75.4
      },
      "functions": {
        "found": 5,
        "hit": 5,
        "pct": 100.0
      },
      "uncovered_lines": [
        81,
        83,
        86,
        88,
        99,
        101,
        102,
        107,
        109,
        113,
        131,
        135,
        136,
        138,
        139,
        140,
        141,
        142,
        143,
        156,
        157,
        173,
        174,
        175,
        197,
        198,
        217,
        219
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/cmd/wokparse.c",
      "lines": {
        "found": 84,
        "hit": 56,
        "pct": 66.7
      },
      "functions": {
        "found": 3,
        "hit": 2,
        "pct": 66.7
      },
      "uncovered_lines": [
        47,
        48,
        52,
        53,
        58,
        59,
        68,
        69,
        70,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        81,
        96,
        97,
        101,
        103,
        122,
        123,
        124,
        133,
        135
      ],
      "uncovered_functions": [
        "print_tokens"
      ]
    },
    {
      "path": "grammar/c/wok_arena.c",
      "lines": {
        "found": 58,
        "hit": 53,
        "pct": 91.4
      },
      "functions": {
        "found": 9,
        "hit": 6,
        "pct": 66.7
      },
      "uncovered_lines": [
        17,
        18,
        19,
        101,
        103
      ],
      "uncovered_functions": [
        "wok_arena_blocks",
        "wok_arena_bytes",
        "wok_arena_oom"
      ]
    },
    {
      "path": "grammar/c/wok_arena.h",
      "lines": {
        "found": 13,
        "hit": 13,
        "pct": 100.0
      },
      "functions": {
        "found": 1,
        "hit": 1,
        "pct": 100.0
      },
      "uncovered_lines": [],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_ast.c",
      "lines": {
        "found": 45,
        "hit": 44,
        "pct": 97.8
      },
      "functions": {
        "found": 9,
        "hit": 8,
        "pct": 88.9
      },
      "uncovered_lines": [
        99
      ],
      "uncovered_functions": [
        "wok_cover_seen"
      ]
    },
    {
      "path": "grammar/c/wok_ast.h",
      "lines": {
        "found": 17,
        "hit": 17,
        "pct": 100.0
      },
      "functions": {
        "found": 323,
        "hit": 321,
        "pct": 99.4
      },
      "uncovered_lines": [],
      "uncovered_functions": [
        "D_Error_text",
        "E_Error_text"
      ]
    },
    {
      "path": "grammar/c/wok_diag.c",
      "lines": {
        "found": 113,
        "hit": 111,
        "pct": 98.2
      },
      "functions": {
        "found": 14,
        "hit": 13,
        "pct": 92.9
      },
      "uncovered_lines": [
        116,
        195
      ],
      "uncovered_functions": [
        "wok_diag_full"
      ]
    },
    {
      "path": "grammar/c/wok_layout.c",
      "lines": {
        "found": 100,
        "hit": 95,
        "pct": 95.0
      },
      "functions": {
        "found": 5,
        "hit": 5,
        "pct": 100.0
      },
      "uncovered_lines": [
        102,
        161,
        177,
        182,
        200
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_parse.c",
      "lines": {
        "found": 1450,
        "hit": 1439,
        "pct": 99.2
      },
      "functions": {
        "found": 102,
        "hit": 102,
        "pct": 100.0
      },
      "uncovered_lines": [
        207,
        208,
        209,
        211,
        213,
        489,
        490,
        514,
        515,
        517,
        1556
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_print.c",
      "lines": {
        "found": 1103,
        "hit": 1053,
        "pct": 95.5
      },
      "functions": {
        "found": 65,
        "hit": 62,
        "pct": 95.4
      },
      "uncovered_lines": [
        118,
        119,
        120,
        121,
        122,
        123,
        213,
        237,
        238,
        290,
        303,
        316,
        321,
        322,
        323,
        324,
        549,
        929,
        1079,
        1197,
        1198,
        1199,
        1350,
        1353,
        1354,
        1355,
        1516,
        1564,
        1565,
        1566,
        1588,
        1589,
        1590,
        1889,
        1891,
        1892,
        1893,
        1894,
        1895,
        1896,
        2004,
        2037,
        2038,
        2039,
        2067,
        2068,
        2069,
        2070,
        2072,
        2073
      ],
      "uncovered_functions": [
        "fault",
        "unprintable",
        "wok_print"
      ]
    },
    {
      "path": "grammar/c/wok_reorder.c",
      "lines": {
        "found": 124,
        "hit": 114,
        "pct": 91.9
      },
      "functions": {
        "found": 17,
        "hit": 16,
        "pct": 94.1
      },
      "uncovered_lines": [
        132,
        133,
        134,
        135,
        136,
        139,
        140,
        164,
        165,
        166
      ],
      "uncovered_functions": [
        "diag_incomparable"
      ]
    },
    {
      "path": "grammar/c/wok_resolve.c",
      "lines": {
        "found": 625,
        "hit": 614,
        "pct": 98.2
      },
      "functions": {
        "found": 37,
        "hit": 37,
        "pct": 100.0
      },
      "uncovered_lines": [
        180,
        211,
        213,
        437,
        450,
        451,
        831,
        1024,
        1025,
        1200,
        1201
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_sexpr.c",
      "lines": {
        "found": 485,
        "hit": 389,
        "pct": 80.2
      },
      "functions": {
        "found": 36,
        "hit": 36,
        "pct": 100.0
      },
      "uncovered_lines": [
        107,
        108,
        109,
        137,
        140,
        141,
        201,
        207,
        209,
        210,
        211,
        313,
        316,
        350,
        351,
        382,
        384,
        405,
        406,
        407,
        408,
        412,
        414,
        419,
        421,
        427,
        428,
        430,
        447,
        448,
        451,
        452,
        454,
        460,
        463,
        467,
        470,
        481,
        482,
        485,
        486,
        488,
        498,
        499,
        500,
        524,
        526,
        531,
        532,
        533,
        534,
        535,
        536,
        538,
        540,
        541,
        542,
        543,
        545,
        546,
        547,
        563,
        564,
        567,
        570,
        584,
        586,
        587,
        597,
        598,
        601,
        604,
        607,
        608,
        609,
        620,
        622,
        700,
        705,
        707,
        716,
        717,
        720,
        723,
        738,
        739,
        741,
        744,
        745,
        746,
        763,
        764,
        765,
        789,
        791,
        795
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_shape.c",
      "lines": {
        "found": 56,
        "hit": 56,
        "pct": 100.0
      },
      "functions": {
        "found": 4,
        "hit": 4,
        "pct": 100.0
      },
      "uncovered_lines": [],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_token.c",
      "lines": {
        "found": 277,
        "hit": 277,
        "pct": 100.0
      },
      "functions": {
        "found": 23,
        "hit": 23,
        "pct": 100.0
      },
      "uncovered_lines": [],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_token.h",
      "lines": {
        "found": 14,
        "hit": 12,
        "pct": 85.7
      },
      "functions": {
        "found": 1,
        "hit": 1,
        "pct": 100.0
      },
      "uncovered_lines": [
        281,
        301
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_trivia.c",
      "lines": {
        "found": 280,
        "hit": 277,
        "pct": 98.9
      },
      "functions": {
        "found": 24,
        "hit": 24,
        "pct": 100.0
      },
      "uncovered_lines": [
        236,
        403,
        414
      ],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_trivia.h",
      "lines": {
        "found": 3,
        "hit": 3,
        "pct": 100.0
      },
      "functions": {
        "found": 0,
        "hit": 0,
        "pct": 100.0
      },
      "uncovered_lines": [],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_utf8.c",
      "lines": {
        "found": 30,
        "hit": 30,
        "pct": 100.0
      },
      "functions": {
        "found": 3,
        "hit": 3,
        "pct": 100.0
      },
      "uncovered_lines": [],
      "uncovered_functions": []
    },
    {
      "path": "grammar/c/wok_write.c",
      "lines": {
        "found": 65,
        "hit": 51,
        "pct": 78.5
      },
      "functions": {
        "found": 4,
        "hit": 4,
        "pct": 100.0
      },
      "uncovered_lines": [
        28,
        29,
        33,
        34,
        39,
        40,
        84,
        85,
        99,
        100,
        101,
        107,
        108,
        109
      ],
      "uncovered_functions": []
    },
    {
      "path": "include/wok_base.h",
      "lines": {
        "found": 3,
        "hit": 0,
        "pct": 0.0
      },
      "functions": {
        "found": 1,
        "hit": 0,
        "pct": 0.0
      },
      "uncovered_lines": [
        147,
        149,
        150
      ],
      "uncovered_functions": [
        "wok_abort_unreachable"
      ]
    }
  ]
}
