python-itanium_demangler icon indicating copy to clipboard operation
python-itanium_demangler copied to clipboard

Interest in MSVC / Restructuring

Open CraftSpider opened this issue 5 years ago • 7 comments
trafficstars

Is there interest in MSVC support being added to this repo? From my first look into that format, it would allow reuse of the nodes, if the project was restructured slightly to pull Cursor and Nodes into their own files so that the MSVC system could import and use them.

CraftSpider avatar Feb 20 '20 00:02 CraftSpider

This has actually been raised before (though I can't find where), and my position was that I don't want to learn or support MSVC demangling. However, you've made excellent contributions to the project so if you want to commit to maintaining MSVC demangling I would have no problem with it.

We'll probably have to rename it, cxx_demangler maybe? Free on PyPI.

whitequark avatar Feb 20 '20 01:02 whitequark

That seems like a good name to me. I'll probably make a branch on my fork and see whether I can get it generally working, then I'd PR the restructure first then the implementation (If that sounds good to you). Means smaller chunks of code, and I don't make a PR to change stuff before I know if it's needed / a good idea

CraftSpider avatar Feb 20 '20 01:02 CraftSpider

Sounds excellent

whitequark avatar Feb 20 '20 01:02 whitequark

Progress so far:

  • I've converted what I can find on the MSVC format into a big text file of BNF rules following the same style as Itanium's document. I can show you if you want
  • It's looking like sharing the nodes may be a pipe dream, it would require non-trivial effort because MSVC structure encodes a lot more and in a very different way
  • Otherwise, it's just a language, and it's not anywhere near impossible. Just going to be a bit till I have something nice

CraftSpider avatar Feb 22 '20 01:02 CraftSpider

  • It's looking like sharing the nodes may be a pipe dream, it would require non-trivial effort because MSVC structure encodes a lot more and in a very different way

Should it perhaps be a different library then? If nodes aren't shared, then what is shared?

whitequark avatar Feb 22 '20 07:02 whitequark

Hey, sorry for the delay, recent events sapped my will for a bit. So, I may be wrong or not, in short I don't yet know enough about what I'm talking about to say anything for sure. If it turns out that stuff isn't shared, I'll make my own repo for it. Thank you for the patience with me figuring things out as I go

CraftSpider avatar Apr 14 '20 15:04 CraftSpider

No problem.

whitequark avatar Apr 14 '20 15:04 whitequark