Skip to content

Task 50: Restructure the site to the FLPQ hierarchy (per-class query sections) #137

Description

@gsvgit

The site step of the FLPQ extension. Design source of truth: docs/flpq.rst ("Site structure"). The package rename (#135) and the 6.0.0 dataset alignment (#133) are done; this task makes the Dataset section of the site match the per-class hierarchy.

Target structure (from the design):

Dataset
├── Graphs           shared catalog (8 categories, 113 pages) — unchanged
├── CFPQ             grammar templates (4 + indexed grammars) | benchmarks | applicable graphs
├── RPQ              query templates (regular expressions)    | benchmarks | applicable graphs
├── MCFPQ            grammar templates (MCFG)                 | benchmarks | applicable graphs
└── Reachable pairs  per-category tables; flat CSV download
  • Replace the top-level "Grammars" page (docs/grammars/) with three per-class sections under docs/queries/{cfpq,rpq,mcfpq}/, reusing the existing CFPQ layout:
    • CFPQ: move the 4 template pages (c_alias, dyck, java_points_to, nested_parentheses) plus the indexed-grammars page;
    • RPQ: move the 2 regular template pages (reachability, label_star);
    • MCFPQ: index page only — MCFG templates arrive with data (the .mcfg format is documented in the reference).
  • Each class section gets a benchmarks placeholder page (filled by the benchmark rework, Task 53: Rework benchmark page and respective data #129) and an "applicable graphs" list cross-linking the shared per-graph pages — no graph page is duplicated.
  • The "applicable graphs" lists are rendered from flpq_data/dataset/reachable_pairs.csv (the registry: one row per applicable graph×query pair; all 113 graphs covered for cfpq, rpq/mcfpq rows arrive with data) by a utils/ generator following the utils/reachable_pairs_tables.py pattern. utils/merge_archive.py gains a check requiring a CSV row for every new query directory so the registry cannot drift.
  • The "How to add a new grammar?" pointer moves to the Dataset page; navigation_depth = 3 already accommodates section -> class -> template.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    taskTask tracking issue for the project workflow (see the workflow-management skill)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions