Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Dmd's backend was ported by hand.

Not quite, the c++ source was massaged to be free of weird corner cases of the grammar and preprocessor (e.g. enforcing no spaces between '#' and the preprocessor keyword) and then a tool called magicport was used to convert the frontend in one shot. The backend was mostly converted by "hand" (i.e. grep after some more massaging).

There are several tools to translate headers though dstep[1] and dpp[2] come to mind

[1]: https://github.com/jacob-carlborg/dstep [2]: https://github.com/atilaneves/dpp



Magicport was used to convert the front end. The back end was done by hand, one file at a time (and passing the test suite after each file).

Most of the conversion was "replace -> with ." and then fixing whatever the compiler complained about.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: