Scenario names do not identify whole features
Whole structure export preserves duplicate names, multiple Examples blocks, DocStrings and the original.
Keep arrays instead of a name dictionary
A dictionary keyed by scenario name can overwrite duplicates. Keeping only the first Examples block loses valid data. The full AST retains native IDs, locations and original order; strings such as -0, long numbers, code or HTML stay text.
- Compare IDs and locations when two scenarios have the same name.
- Inspect every Examples block rather than only the first table.
- Keep numeric-looking cell values as strings instead of converting them to numbers.
Parsing structure and executing tests are different tasks
The public questions ask for Java objects or whole-file JSON without running tests. This tool parses only: no step definitions, test-run messages or evaluation of user code. The unpublished private feature and exact old Java field compatibility remain unknown.
Keep the original and avoid guessed coordinates
DocString and table values are parsed natively; original whitespace and escapes remain in original.feature. Codepoints and UTF16 indices can differ, so mixed native column conventions are not rewritten as unified byte positions or guessed end spans.
| Representation | What it can retain |
|---|---|
| Names as dictionary keys | A convenient lookup that can overwrite repeated names. |
| Complete AST arrays | All ordered scenarios, Examples blocks, IDs and parsed values. |
| Original feature | Exact source bytes and formatting that an AST alone cannot reproduce. |
References
- Cucumber Gherkin reference
Primary reference for feature structure, Examples, DocStrings, tables and localisation; parser versions are recorded separately in the exported report.
Tools in this category
Expand a tool to see its steps, options and supported formats, then open its workspace.
Whole Gherkin structure exportParse a complete feature into its full native AST, retaining the original and every structure without running tests.
Retain Feature, Rule, Background, Scenario, every Examples block, Step, DataTable, DocString, tags, comments, descriptions and native locations. Duplicate names remain distinct; numeric-looking text stays text.
Steps
- Choose one original UTF-8 file or complete paste, then set the active input and default dialect.
- Run and inspect the complete AST tree, original text and bounded native diagnostics.
- Copy the full AST JSON and save all three downloads: structure, byte-exact original and report.
Available options
- Active input
- Complete paste · One original file
- Default dialect (without #language)
- Afrikaans (af) · հայերեն (am) · Aragonés (an) · العربية (ar) · asturianu (ast) · Azərbaycanca (az) · Беларуская (be) · български (bg) · Bahasa Melayu (bm) · Bosanski (bs) · català (ca) · Česky (cs) · Cymraeg (cy-GB) · dansk (da) · Deutsch (de) · Ελληνικά (el) · 😀 (em) · English (en) · Scouse (en-Scouse) · Australian (en-au) · LOLCAT (en-lol) · Englisc (en-old) · Pirate (en-pirate) · Texas (en-tx) · Esperanto (eo) · español (es) · eesti keel (et) · فارسی (fa) · suomi (fi) · français (fr) · Gaeilge (ga) · ગુજરાતી (gj) · galego (gl) · עברית (he) · हिंदी (hi) · hrvatski (hr) · kreyòl (ht) · magyar (hu) · Bahasa Indonesia (id) · Íslenska (is) · italiano (it) · 日本語 (ja) · Basa Jawa (jv) · ქართული (ka) · ಕನ್ನಡ (kn) · 한국어 (ko) · lietuvių kalba (lt) · Lëtzebuergesch (lu) · latviešu (lv) · Македонски (mk-Cyrl) · Makedonski (Latinica) (mk-Latn) · монгол (mn) · नेपाली (ne) · Nederlands (nl) · norsk (no) · ਪੰਜਾਬੀ (pa) · polski (pl) · português (pt) · română (ro) · русский (ru) · Slovensky (sk) · Slovenski (sl) · Српски (sr-Cyrl) · Srpski (Latinica) (sr-Latn) · Svenska (sv) · தமிழ் (ta) · ไทย (th) · తెలుగు (te) · tlhIngan (tlh) · Türkçe (tr) · Татарча (tt) · Українська (uk) · اردو (ur) · Узбекча (uz) · Tiếng Việt (vi) · 简体中文 (zh-CN) · മലയാളം (ml) · 繁體中文 (zh-TW) · मराठी (mr) · አማርኛ (amh)
Capabilities and limits
- One strict UTF-8 file or complete paste: 4 MiB bytes and 4 Mi UTF16 units; 100,000 lines; 262,144 UTF16 units per line.
- 100,000 table cells; 200,000 AST entities; 100 million guarded work units; 16,777,216 retained UTF16 units.
- All physical outputs and held serialization/clone/copy resources share 64 MiB; joint logical owned resources share 512 MiB. One 10-second deadline covers capture through first publication.
- All 80 native dialects; #language controls parsing. Native title indentation counts codepoints, table columns use JavaScript UTF16 indices; no invented end spans.
- Invalid syntax, malformed UTF-8, unpaired paste surrogates, unknown dialects or an exceeded budget reject the whole run. Native diagnostics stop at 11. No tests, UUIDs, pickle expansion or user code execute.
- Private files from the original questions were not published; exact legacy Java schema compatibility is unknown. Capacity, actual Worker and cross-engine acceptance remain pending.