I want to compile a docx file into a Typst file, I believe deep down docx is XML, and Typst is close to markdown with interesting functionalities, is that feasible? Note that Typst does have syntax to define functions and call them and I want to create special functions during the code gen step, is ANTLR the right tool for the job? Are there better tools? I want to have as few bugs as possible

  • @solrize
    link
    79 months ago

    Antlr sounds excessive for either of those. Use an ordinary xml library for docx (if there’s not already one for docx) and something simple for typst.

      • @solrize
        link
        39 months ago

        Oh, ok, antlr would be inappropriate then. I’d check whether pandoc already does that conversion.

        • @[email protected]OP
          link
          fedilink
          2
          edit-2
          9 months ago

          I just checked, it does convert to Typst but I do want to write custom stuff alongside what pandoc will output, that seems like the right tool and saves me a lot of efforts, thanks

  • @[email protected]
    link
    fedilink
    59 months ago

    I’m not sure what the best approach would be, but for reading docx you might be better off using something like Apache POI. Docx may be XML, but it’s imo absolute abuse of XML. POI shields you a little bit from all the nonsense happening in docx. I could see ANTLR working for Typst since there’s probably not another interface for it.

    I don’t think it’ll support it, but you could also check if this can be done with pandoc.

  • @[email protected]
    link
    fedilink
    59 months ago

    ANTLR is for writing parsers. You don’t need a new custom parser, just use an existing XML parser.

  • @ryry1985
    link
    3
    edit-2
    9 months ago

    I don’t know anything about Typst, but I do know that .docx files are really just a zip file containing a folder structure with a bunch of xml (and a few other) files. I’ve written a few find/replace docx scripts in bash utilizing this information.