Task library CPARSE Compiler and language tooling · Phased project A configuration-language parser with usable diagnostics Fictional build tool Sprig reads a tiny configuration language with identifiers, strings, lists and assignments. Author the grammar and synthetic source corpus locally; parsing never executes source.
Practice brief · Version 5
Project scope 10 tickets / 3 phases
Total focused work estimate 23h 15m + setup
Suggested stack TypeScript · Vitest · Parser fixtures Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.
Choose a bounded subset for an assessment or practice session. Prerequisites and remaining project work must be agreed separately.
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Pattern topics identify design choices to practice. Read the ticket's acceptance criteria and justify the simplest suitable approach. Tags are not capability or ownership evidence; an untagged ticket has no curated pattern topic assigned.
Recommended next step Start with CPARSE-101 Open the first ticket for its prerequisites, acceptance criteria, verification plan, and an editable task draft.
What the engineer takes away Practice source positions, grammar boundaries and error recovery.
What the team gains Inspect whether tooling errors help users correct configuration safely.
Before you start Write the tiny language grammar and generated source examples. Create fixtures with Unicode, truncated tokens and nested lists. Delivery agreement Keep each change within the declared grammar; runtime evaluation is excluded.
AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.
Delivery phases PHASE 1 Preserve spans and literal meaning.
PHASE 2 Handle malformed structure deterministically.
PHASE 3 Keep diagnostics and printing stable.
Specify source tokens Preserve spans and literal meaning.
CPARSE-101 Entry ticket; project setup still required Estimated field mix
Compiler and language tooling 100% CPARSE-102 Depends on CPARSE-101 Estimated field mix
Compiler and language tooling 100% CPARSE-103 Depends on CPARSE-102 Estimated field mix
Compiler and language tooling 100% Build recoverable syntax Handle malformed structure deterministically.
CPARSE-104 Depends on CPARSE-101, CPARSE-103 Estimated field mix
Compiler and language tooling 70% Performance engineering 30% CPARSE-105 Depends on CPARSE-104 Estimated field mix
Compiler and language tooling 100% CPARSE-106 Depends on CPARSE-105 Estimated field mix
Compiler and language tooling 100% CPARSE-107 Depends on CPARSE-105, CPARSE-106 Estimated field mix
Compiler and language tooling 80% Developer tooling 20% Use this project CSV keeps grouping and dependency keys as descriptive fields. Import mapping depends on your tracker configuration.