Skip to content

Add XML output support via new morpheus binary - #6

Open
whothefluff wants to merge 2 commits into
Alatius:masterfrom
whothefluff:2-xml
Open

Add XML output support via new morpheus binary#6
whothefluff wants to merge 2 commits into
Alatius:masterfrom
whothefluff:2-xml

Conversation

@whothefluff

@whothefluff whothefluff commented Jul 21, 2026

Copy link
Copy Markdown

Adds a new binary, morpheus, that emits structured Perseus-style XML instead of cruncher's <NL> lines. Built on top of #, it reuses the shared pipeline (AnalyzeString, SortAnals, GoodAnals) rather than reimplementing analysis logic.

Output includes:

  • full-word vocabulary
  • refined parts of speech
  • cartesian-expanded <infl> elements for multi-value case/gender
  • inline <unknown> for unrecognized words

Scope of change: this only adds new files (the morpheus binary + its own test suite); it does not modify cruncher's behavior
beyond what's already in #5. Existing users/output are unaffected.

Testing: independent suite at tests/run_xml_tests.sh, checking well-formedness, parity with cruncher on shared word lists, and a documented list of intentional divergences (see README_XML.md).

No pressure to merge this one if it's not useful for your fork. I know it's a bigger diff and a feature you may not need. Happy to
maintain it as a documented divergence in my fork if you'd rather keep cruncher as the only binary upstream.

morpheus shares cruncher's analysis pipeline (AnalyzeString, SortAnals, GoodAnals) but emits structured Perseus-style XML instead of <NL> lines:
full-word vocabulary, refined parts of speech, cartesian-expanded <infl> elements for multi-value case/gender, inline <unknown> for unrecognized words.

Includes an independent test suite (tests/run_xml_tests.sh) validating well-formedness, parity with cruncher on shared word lists, and documented intentional divergences.
See README_XML.md for usage and test ID reference.
@whothefluff whothefluff changed the title 2 xml Add XML output support via new morpheus binary Jul 21, 2026
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.

1 participant