Grammar Data Gen - Known Bugs

Grammar Data Gen is intentionally buggy as a testing exercise. Grammar Data Gen - Basic is the simple buggy version; Grammar Data Gen - Complex is the phrase-definition version with named phrase lists and output history.

Basic Version Known Bugs

Area Bug What To Look For
Grammar line selection The random line index is incremented after being selected. With multiple grammar lines, the first grammar line is never selected and generation can sometimes fail when the index moves beyond the final line.
Grammar editor form The editor form is not protected against browser default form submission. Pressing Enter in the grammar name field can submit the form and reload the page with query parameters.
Page clicks A document-level click handler generates new text. Clicking unrelated parts of the page can change the generated output.
Nested grammar groups Embedded bracket groups inside an option are not supported. A grammar such as [bob, and [gain, lose] something] is parsed incorrectly instead of generating bob, and gain something, or and lose something.
Empty options Blank choices are dropped or rendered literally instead of being treated as a deliberate empty value. A grammar such as ["", sometimes] test should sometimes generate test, but the blank choice is not handled as a real option.
Output cleanup Generated text is not cleaned after phrase expansion. Grammars with optional blanks or punctuation can leave double spaces, leading spaces, or spaces before commas, periods, exclamation marks, and question marks.
Plain text grammar Grammar lines without bracketed phrase groups are not handled safely. A plain line such as hello world can trigger a JavaScript error instead of generating hello world.
Empty input Empty grammar definitions are not handled safely. Clearing the text area and generating grammar can trigger a JavaScript error.

Complex Version Known Bugs

Area Bug What To Look For
Grammar line selection The random template index is incremented after being selected. With multiple template lines, the first template is never selected and generation can sometimes fail when the index moves beyond the final template.
Quoted options Quoted commas are not handled correctly. A phrase definition such as "optional quotes, because i added a comma" is split into multiple options.
Explicit empty options Quoted blank choices are dropped instead of being retained as a valid generated value. A phrase definition such as optional_laughter: ["", Bwahaha!] should sometimes generate nothing, but the empty option is removed.
Output cleanup Generated text is not cleaned after phrase expansion. Phrase definitions with optional blanks or punctuation can leave double spaces, leading spaces, or spaces before commas, periods, exclamation marks, and question marks.
Nested grammar groups Embedded bracket groups inside an option are not supported reliably. A grammar such as [bob, and [gain, lose] something] can be parsed incorrectly.
Missing phrase references Missing #phrase_name references are not validated up front. The error appears only when generation chooses a path that references the missing phrase.
Recursive phrase references Recursive #phrase_name references are not detected as cycles. Recursive data eventually fails with a generic phrase expansion error rather than a useful cycle report.
Generated history Generated values are added to history only after successful generation. Errors do not create history entries, which can make failed generation paths harder to review from the page alone.

For a fixed data-generation utility, use Grammar Based Test Data.