- ! Brief Description: Include a brief description of the idea in both the Readme.md and Cargo.toml files.
The Readme.md must contain a technical description of the parsing process, detailing what exactly is being parsed and how the results of the parsing will be used.
- ! Project Name: The project name must reflect the idea and be included in both the Readme.md and Cargo.toml files.
- ! Grammar Rules: Develop at least 1 grammar rule for the parser.
- ! Unit Tests: Implement unit tests for the parser; these can be placed in a separate file within the tests directory.
- Test Coverage: Ensure each grammar rule is covered by at least one unit test.
- Core Files: The project must include lib.rs and main.rs files.
- CLI: Create a command-line interface that includes commands to parse a file and to display help and credits information.
- cargo fmt should be used for code formatting.
- cargo clippy should be used for linting to ensure code quality.
- A makefile should include commands to launch the program and to run tests, format and clipply before committing as well other useful commands.
- Completeness: The project must be completed fully.
- Including a diagram or grammar in the Readme.md can facilitate understanding of the parsing logic.
- Documentation: For each grammar rule, embed documentation in the code, ensuring that the documentation appears on docs.rs.
- Publishing: Release the final version of the package on crates.io.
- Error Handling: Implement proper error handling by using anyhow for tests and thiserror for the library.