Update function parsing docs#62
Conversation
Reviewer's GuideThis PR refines the function-parsing design documentation to describe a fully recursive strategy for nested type parsing and to detail improved error diagnostics for missing delimiters and colons in parameter lists. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Warning Rate limit exceeded@leynos has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 8 minutes and 56 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
Summary by CodeRabbit
WalkthroughThe documentation for the parsing functions Changes
Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate Unit Tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
docs/function-parsing-design.md(1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
`docs/**/*.md`: Documentation must use en-GB-oxendict spelling and grammar (with the exception of 'license' which is to be left unchanged for community consistency).
docs/**/*.md: Documentation must use en-GB-oxendict spelling and grammar (with the exception of 'license' which is to be left unchanged for community consistency).
📄 Source: CodeRabbit Inference Engine (AGENTS.md)
List of files the instruction was applied to:
docs/function-parsing-design.md
`**/*.md`: Markdown paragraphs and bullet points must be wrapped at 80 columns. Code blocks must be wrapped at 120 columns. Tables and headings must not be wrapped.
**/*.md: Markdown paragraphs and bullet points must be wrapped at 80 columns.
Code blocks must be wrapped at 120 columns.
Tables and headings must not be wrapped.
📄 Source: CodeRabbit Inference Engine (AGENTS.md)
List of files the instruction was applied to:
docs/function-parsing-design.md
`**/*.md`: * Avoid 2nd person or 1st person pronouns ("I", "you", "we") * Use en...
**/*.md: * Avoid 2nd person or 1st person pronouns ("I", "you", "we")
- Use en-oxendic spelling and grammar.
- Paragraphs and bullets must be wrapped to 80 columns, except where a long URL would prevent this (in which case, silence MD013 for that line)
- Code blocks should be wrapped to 120 columns.
- Headings must not be wrapped.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
docs/function-parsing-design.md
🪛 LanguageTool
docs/function-parsing-design.md
[uncategorized] ~29-~29: Possible missing comma found.
Context: ...arameter list. Whenever it encounters a colon it delegates to parse_type_expr. That...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~37-~37: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...inating comma or parenthesis is attached so diagnostics point at the error. Helper ...
(COMMA_COMPOUND_SENTENCE_2)
[style] ~38-~38: Would you like to use the Oxford spelling “finalize”? The spelling ‘finalise’ is also correct.
Context: ... functions collect_parameter_name and finalise_parameter keep the main loop small. E...
(OXFORD_SPELLING_Z_NOT_S)
⏰ Context from checks skipped due to timeout of 240000ms (1)
- GitHub Check: build-test
🔇 Additional comments (1)
docs/function-parsing-design.md (1)
40-44: Wrap long sentences to 80 columnsThe following lines slightly exceed 80 characters; insert hard breaks after
“nodes” and “tokens” to satisfy the markdown wrapping rule.-`ParseError::MissingType`. `parse_type_expr` skips whitespace and comment nodes -and reports mismatched delimiters with a `ParseError::Delimiter` that records -the expected and actual tokens. Unclosed delimiters produce -`ParseError::UnclosedDelimiter` once parsing stops. +`ParseError::MissingType`. `parse_type_expr` skips whitespace and comment nodes +and reports mismatched delimiters with a `ParseError::Delimiter` that records +the expected and actual tokens. Unclosed delimiters produce +`ParseError::UnclosedDelimiter` once parsing stops.Likely an incorrect or invalid review comment.
…compliance Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Summary
Testing
make fmtmake lintmake testmake markdownlintmake nixiehttps://chatgpt.com/codex/tasks/task_e_6869c3c79e7883229f5450143aa47bab
Summary by Sourcery
Revise the function parsing design documentation to highlight the fully recursive handling of nested type delimiters and improved error reporting for missing or mismatched delimiters in parameter lists.
Documentation:
parse_type_exprnow recursively parses matching delimiters for nested types without an external stackParseError::DelimiterandParseError::UnclosedDelimiterdiagnostics with expected vs. actual tokens