docs: add v1 action plan and MkDocs documentation site#10
docs: add v1 action plan and MkDocs documentation site#10alejandroklever wants to merge 9 commits intomainfrom
Conversation
- ACTION_PLAN.md: comprehensive roadmap covering 6 critical bug fixes, code-quality improvements, testing gaps, packaging fixes, and a prioritised delivery order for the v1.0.0 release - mkdocs.yml: Material-theme configuration with tabbed navigation, syntax highlighting, and GitHub Pages publishing settings - docs/index.md: project overview, feature table, and quick-start example - docs/getting-started.md: step-by-step guide for first-time users - docs/defining-grammar.md: complete grammar construction reference - docs/lexer.md: terminal ordering, keyword handling, and Lexer API - docs/parser.md: SLR/LR1/LALR1 comparison, conflicts, semantic actions - docs/error-handling.md: lexical and syntactic error handling patterns - docs/serialization.md: pre-building and caching parsing tables - docs/api-reference.md: full public API documentation - docs/changelog.md: version history and planned v1 changes https://claude.ai/code/session_01Vouz5MejqT7sFvTEy8MXz1
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive MkDocs-based documentation and a detailed action plan for PyJapt v1.0.0 release. PyJapt is a Python-based lexer and LR parser generator. The documentation provides complete coverage of the library's features, while the ACTION_PLAN.md identifies critical bugs and improvements needed for the v1.0 milestone.
Changes:
- Added MkDocs Material theme configuration with navigation, syntax highlighting, and GitHub Pages support
- Created 9 documentation pages covering installation, tutorials, user guides, API reference, and changelog
- Added ACTION_PLAN.md documenting 6 critical bugs, code quality improvements, testing gaps, and release roadmap
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| mkdocs.yml | MkDocs configuration with Material theme, navigation structure, and markdown extensions |
| docs/index.md | Project overview with feature table and quick-start arithmetic parser example |
| docs/getting-started.md | Step-by-step tutorial for building first lexer and parser |
| docs/defining-grammar.md | Complete reference for Grammar API including terminals, non-terminals, and productions |
| docs/lexer.md | Lexer configuration guide covering terminal ordering, token rules, and keyword handling |
| docs/parser.md | Parser selection guide comparing SLR/LR1/LALR1, conflict resolution, and semantic actions |
| docs/error-handling.md | Lexical and syntactic error handling patterns with custom handlers and error productions |
| docs/serialization.md | Guide for pre-building and caching parsing tables to improve startup time |
| docs/api-reference.md | Comprehensive public API documentation for all exported classes and methods |
| docs/changelog.md | Version history from 0.1.x through planned v1.0.0 changes |
| ACTION_PLAN.md | Detailed roadmap identifying 6 critical bugs, modernization tasks, testing needs, and prioritized delivery order |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ```python | ||
| from pyjapt import ( | ||
| Grammar, | ||
| Lexer, | ||
| Token, | ||
| ShiftReduceParser, | ||
| SLRParser, | ||
| LR1Parser, | ||
| LALR1Parser, | ||
| ) |
There was a problem hiding this comment.
The API Reference states that RuleList is a "Top-Level Export" that can be imported from pyjapt, but pyjapt/init.py does not export RuleList. Users would need to import it from pyjapt.parsing instead. Either add RuleList to the exports in init.py (as suggested in ACTION_PLAN.md section 2.5), or update this documentation to clarify that RuleList must be imported from pyjapt.parsing.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
|
@alejandroklever I've opened a new pull request, #11, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@alejandroklever I've opened a new pull request, #12, to work on those changes. Once the pull request is ready, I'll request review from you. |
Co-authored-by: alejandroklever <45394625+alejandroklever@users.noreply.github.com>
Co-authored-by: alejandroklever <45394625+alejandroklever@users.noreply.github.com>
Use American spelling consistently throughout documentation
Export RuleList from pyjapt top-level package
|
@alejandroklever I've opened a new pull request, #15, to work on those changes. Once the pull request is ready, I'll request review from you. |
Export RuleList from pyjapt top-level package
code-quality improvements, testing gaps, packaging fixes, and a
prioritised delivery order for the v1.0.0 release
syntax highlighting, and GitHub Pages publishing settings
https://claude.ai/code/session_01Vouz5MejqT7sFvTEy8MXz1