Hi, a (troublesome in real life) habit of mine is to try to generalize/abstract things a little, distracting from the initial task :) To turn this into something productive still, hereby I want to give you a heads-up about my current work on a generic file format description and related tools, as another by-product of my work to create a CDR parser, following the RIFF- parsing lib Koralle (or is that what they call separation of concern? :P ) Perhaps some of you might want to give comments or join the work? The sidewinder import/export filter e.g. are quite related, I have yet to fully understand how those are constructed.
My CDR (v4) filter reads complete RIFF chunks one-by-one and maps pointer/references of the proper structs onto the chunk to access the elements. Those structs with nice getter-methods are generated from an XML- based format description, which shall also serve as base for some nice-to-read auto-generated textdocument (HTML/ODF) describing the format. And currently I am also seeing to use the very same file also as base for an as-well auto- generated description which can be used to browse the file structure in Okteta (but that is only in planning and will need some work on the Structures tool sources). So one source object to automatically generate code, docs and more from. I am beating the data format describing file more and more, to make it generally useful. ATM I am creating also a DTD, to help others understanding it, not yet commited to the repo. See the current state of the file for the CDRv4 format, which is the proof-of-concept, here: https://projects.kde.org/projects/calligra/repository/revisions/filters- karbon-cdr/changes/filters/karbon/cdr/cdr4structs.format The left-over <method> tags there are just temporary helpers and need to disappear, currently fighting to solve that. And the tool to generate (so far just) the cpp header is here: https://projects.kde.org/projects/calligra/repository/revisions/filters- karbon-cdr/show/filters/karbon/cdr/generator The tool should become pluggable what to generate, so people could generate source files in other languages, docs in other formats and whatever they want to. So, as said above, any comments and hints welcome while I hack along :) Cheers Friedrich _______________________________________________ calligra-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/calligra-devel
