-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite the xml parser in vpr to be based on DTD and auto generated. #4
Comments
XML formats include; |
I created schemas for the packed netlist and routing resource formats here: https://gist.github.com/Laksen/dc3fdf65a7eb6bb1186c46381215ac55 They don't match the examples 100% as the examples contain some undocumented values, but that should be easy to change
|
I updated some types to use xs:double instead of xs:decimal to allow scientific notation. There were some inconsistencies like https://gist.github.com/Laksen/cf67f1103e5c539bb44cd183d617aee8
|
@Laksen this is awesome! Do you want to send them as a pull request in the https://github.com/SymbiFlow/symbiflow-arch-defs repo? The common/xml directory would be the right place.
|
@Laksen has added a schema for the existing XML formats in the pull request here -> f4pga/f4pga-arch-defs#195 - Thank you so much. The next steps would be; |
https://www.codesynthesis.com/products/xsd/ looks pretty good but is under a GPL license and we really want to keep things open. The alternative is probably to follow an example shown at this page https://blind.guru/bmmlcxx.html and use Python + Jinja2 templates to create C++ code.
|
The best example I have found is https://github.com/mlang/xsdcxx-musicxml
|
Currently the xml parser in vpr is hand coded.
It would be good to rip it out and replace it with a auto-generated xml parser based around a DTD which defines the file format.
Create a XML definition using DTD, XSD or Relax-NG -- unsure the best format... See;
Existing XML file formats in order of importance;
New XML file formats needing to be created;
The idea is eventually to auto-generate parser / code structures from the definitions; IE see --
The text was updated successfully, but these errors were encountered: