Mirrors code-go-ast-v1's chunker pattern. Snapshot test against tests/fixtures/sample.c (function + typedef struct + typedef enum + preprocessor) verifies symbol list + lang=c stamping. Chunks produced (4 total): - <top-level> glue: includes, defines, static vars, typedefs (lines 1-18) - parse_record function (lines 20-23) - print_record function (lines 25-27) - main function (lines 29-33) All chunks stamped with lang=c and chunker_version=code-c-ast-v1. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
34 lines
581 B
C
34 lines
581 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#define MAX_BUF 4096
|
|
|
|
typedef enum {
|
|
OK = 0,
|
|
ERR_PARSE,
|
|
ERR_IO,
|
|
} status_t;
|
|
|
|
typedef struct {
|
|
int id;
|
|
char name[64];
|
|
status_t status;
|
|
} record_t;
|
|
|
|
static int counter = 0;
|
|
|
|
int parse_record(const char *line, record_t *out) {
|
|
if (line == NULL || out == NULL) return ERR_PARSE;
|
|
return OK;
|
|
}
|
|
|
|
void print_record(const record_t *r) {
|
|
printf("[%d] %s (status=%d)\n", r->id, r->name, r->status);
|
|
}
|
|
|
|
int main(void) {
|
|
record_t r = { .id = 1, .name = "foo", .status = OK };
|
|
print_record(&r);
|
|
return 0;
|
|
}
|