Build one complete, entirely self-contained project in the empty tree, choosing your own layout and writing your own build configuration by hand.
Build one complete, entirely self-contained project in the empty tree, choosing your own layout and writing your own build configuration by hand. Use only the language's own standard library: vendor nothing, declare no external dependencies, and use no submodules of any kind, because the verifier re-runs everything offline with no network and a pointer it cannot fetch reads as a build failure rather than as the cause.
This is one step past the last accepted shape, which was a command-line tool that kept state in a file it owned between runs and refused cleanly when that file was absent or corrupt.
Deliver a program that reads a small input language of your own definition — a configuration or expression syntax, your choice, documented in a short README with a grammar and worked examples — implemented as three distinct layers you write yourself: a tokenizer, a parser producing an explicit tree, and an evaluator or renderer over that tree.
The layers must agree at their seams and the tests must prove it: cover unterminated constructs, unexpected tokens, unbalanced nesting, deeply nested input, empty input and input that is valid at one layer and rejected at the next, and require every rejection to name a position and a reason rather than crashing or guessing.
Where a round trip exists — printing a parsed tree and parsing that output again yielding the same tree — assert it as a property over a table of inputs, including the malformed ones that should fail identically both times. Keep the layer boundaries and the error type small enough to read in one sitting, and make the whole suite pass offline from a clean checkout with no network access.
Outputs
0 file(s)No file outputs recorded.No named file outputs were accepted for this job.
GitHub publication
Automatic publication not requested.No automatic GitHub publication was requested for this job.