Skip to content

QuickBook grammar reference document.#124

Merged
wpak-ai merged 2 commits into
cppalliance:developfrom
AuraMindNest:docs/quickbook-grammar
Jun 22, 2026
Merged

QuickBook grammar reference document.#124
wpak-ai merged 2 commits into
cppalliance:developfrom
AuraMindNest:docs/quickbook-grammar

Conversation

@AuraMindNest

@AuraMindNest AuraMindNest commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Close #119.

Summary by CodeRabbit

Documentation

  • Added comprehensive QuickBook grammar and extraction reference documentation, detailing supported language constructs, parser behavior, translation rules, inline handling, and system limitations.
  • Updated README to link to the new grammar documentation resource for easy discovery.
  • Documentation includes validation results and construct coverage matrix.

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

A new documentation file docs/quickbook-grammar.md is added, covering the QuickBook extraction grammar: architecture, supported and skipped constructs, inline/pass-through behavior, extraction/reconstruction rules, parser limitations, a coverage matrix, and real-world validation results. README.md adds two links pointing to this file.

Changes

QuickBook Grammar Documentation

Layer / File(s) Summary
QuickBook grammar reference and README links
docs/quickbook-grammar.md, README.md
docs/quickbook-grammar.md is introduced with 375 lines covering parser architecture, supported/skipped construct mappings, inline and pass-through behavior, extraction and reconstruction rules, unit metadata, known limitations, a construct coverage matrix, and real-world validation results across Boost .qbk sources. README.md adds an inline cross-reference in the QuickBook format section and a new "QuickBook grammar" row in the Environment & Configuration Reference table.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

A rabbit hopped through .qbk land,
Mapping each construct by paw and hand.
🐇 "Pass-through here, extract over there!"
A coverage matrix beyond compare.
Now translators know just what we've planned! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: adding a QuickBook grammar reference document. It is concise, specific, and directly reflects the primary modification in the changeset.
Linked Issues check ✅ Passed All acceptance criteria from issue #119 are met: the PR introduces docs/quickbook-grammar.md with parser-supported constructs, segment types, and limitations; includes a coverage matrix comparing Boost QuickBook 1.7 to plugin support levels; provides real-world validation notes using Beast, Asio, and Spirit samples; and updates README.md with links to the grammar reference.
Out of Scope Changes check ✅ Passed All changes are directly scoped to issue #119: the new docs/quickbook-grammar.md file documents the QuickBook parser, and README.md updates add necessary links to this documentation. No extraneous modifications outside the stated objectives are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@AuraMindNest

Copy link
Copy Markdown
Collaborator Author

@coderabbitai, review

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

REPO="cppalliance/cppa-weblate-plugin"
PR_NUMBER=124

echo "=== PR Details ==="
gh pr view $PR_NUMBER --repo $REPO --json title,body,baseRefName,headRefName,files,additions,deletions

echo ""
echo "=== PR Diff ==="
gh pr diff $PR_NUMBER --repo $REPO

echo ""
echo "=== Issue `#119` ==="
gh issue view 119 --repo $REPO --json title,body

Length of output: 27914



@AuraMindNest: Here is the review of PR #124.


Review of docs/quickbook-grammar.md

The document is comprehensive and well-structured. It satisfies all acceptance criteria from #119. A few items need attention:


🔴 Internal ticket reference leaked into public docs

File: docs/quickbook-grammar.md, Parser Limitations table

| Performance | Single O(n) scan with recursion; no parser benchmarks for large files exist yet (W24 eval T33) |

(W24 eval T33) appears to be an internal project tracking reference and should be removed before merging. The surrounding text stands on its own without it:

| Performance | Single O(n) scan with recursion; no parser benchmarks for large files exist yet |

🟡 Inconsistent Boost documentation URLs (latest vs master)

File: docs/quickbook-grammar.md, lines 26–28

Two of the three upstream links use latest but one uses master:

- [Quick Reference](https://www.boost.org/doc/libs/latest/doc/html/quickbook/ref.html)
- [Block Level Elements](https://www.boost.org/doc/libs/master/doc/html/quickbook/syntax/block.html)   ← master
- [Phrase Level Elements](https://www.boost.org/doc/libs/latest/doc/html/quickbook/syntax/phrase.html)

master may resolve differently than latest on the Boost documentation site or break if the branch is renamed. Suggest using latest consistently:

- [Block Level Elements](https://www.boost.org/doc/libs/latest/doc/html/quickbook/syntax/block.html)

🟡 Ambiguous notation in Coverage Matrix

File: docs/quickbook-grammar.md, Figure row

| Figure | `[fig image.png..caption..id]` | None | Unrecognized block |

The double dots (..) are ambiguous — it's unclear whether this is the actual syntax or a shorthand for omitted fields. Using an ellipsis ( or [fig image.png … caption … id]) or the real QuickBook figure syntax would be clearer.


✅ Everything else looks good

  • Architecture Mermaid diagram is accurate and well-linked.
  • All relative paths (../src/, ../tests/) are correct for a file at docs/quickbook-grammar.md.
  • The README.md changes are minimal and correctly placed (format overview + documentation index).
  • The coverage matrix is thorough and the support levels (Full / Partial / None) are consistently applied.
  • The "Source of truth" disclaimer at the end is a good practice.
  • SPDX header is correct.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
docs/quickbook-grammar.md (2)

270-270: 💤 Low value

Clarify the Figure syntax notation.

Line 270 uses .. as field separators in the Figure example: [fig diagram.png..Architecture overview..lib.diagram]. For a grammar reference, this notation risks ambiguity — readers may not immediately recognize whether .. is part of actual QuickBook syntax or shorthand for omitted/variable fields.

Consider adding a note explaining the notation, or switching to an ellipsis () or real Boost QuickBook figure syntax for clarity.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/quickbook-grammar.md` at line 270, The Figure syntax example on line 270
uses `..` as field separators which creates ambiguity about whether this is
actual QuickBook syntax or placeholder notation. Either add a clarifying note
immediately after or near the example explaining that `..` represents field
separators in the QuickBook Figure syntax, or replace the `..` notation with the
actual Boost QuickBook figure syntax or a standard ellipsis character (`…`) to
make the intended meaning immediately clear to readers without requiring
additional context.

69-69: 💤 Low value

Fix markdown code-span spacing (MD038 linting warnings).

Markdownlint flags spaces inside backtick-delimited code spans at these lines. While content is clear, cleaning up spacing improves consistency:

  • Line 69: Remove extra space around inline markup example in backticks
  • Line 125: Ensure no leading/trailing spaces inside `[@...`
  • Line 126: Check nested backtick handling in link examples
  • Line 159: Remove leading spaces inside ` int main()` (the indentation context is clear without internal spacing)

All fixes are one or two characters each.

Also applies to: 125-125, 126-126, 159-159

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/quickbook-grammar.md` at line 69, Fix markdown code-span spacing issues
(MD038 linting warnings) in the quickbook-grammar.md table by removing extra
spaces inside backtick-delimited code spans. Locate and clean up the inline code
examples by removing leading and trailing spaces within backticks in the table
rows containing the inline markup example, the `[@...]` syntax reference, the
nested backtick link examples, and the `int main()` code snippet. Each fix
involves removing one or two character spaces that appear inside the backtick
delimiters to ensure consistent code-span formatting throughout the table.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/quickbook-grammar.md`:
- Line 270: The Figure syntax example on line 270 uses `..` as field separators
which creates ambiguity about whether this is actual QuickBook syntax or
placeholder notation. Either add a clarifying note immediately after or near the
example explaining that `..` represents field separators in the QuickBook Figure
syntax, or replace the `..` notation with the actual Boost QuickBook figure
syntax or a standard ellipsis character (`…`) to make the intended meaning
immediately clear to readers without requiring additional context.
- Line 69: Fix markdown code-span spacing issues (MD038 linting warnings) in the
quickbook-grammar.md table by removing extra spaces inside backtick-delimited
code spans. Locate and clean up the inline code examples by removing leading and
trailing spaces within backticks in the table rows containing the inline markup
example, the `[@...]` syntax reference, the nested backtick link examples, and
the `int main()` code snippet. Each fix involves removing one or two character
spaces that appear inside the backtick delimiters to ensure consistent code-span
formatting throughout the table.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cde10d0d-aa9e-4696-bf80-9058339dee35

📥 Commits

Reviewing files that changed from the base of the PR and between ec49aeb and 511bd36.

📒 Files selected for processing (2)
  • README.md
  • docs/quickbook-grammar.md

@whisper67265 whisper67265 requested a review from wpak-ai June 18, 2026 20:14
@wpak-ai wpak-ai merged commit 4b7a75a into cppalliance:develop Jun 22, 2026
23 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

QuickBook grammar reference document

3 participants