[SAoC] "Improving DMD as a Library" project thread
Mihaela Chirea
chireamihaela99 at gmail.com
Mon Sep 14 12:47:42 UTC 2020
Hello!
My name is Mihaela Chirea and I am a 4th year Computer
Engineering student at Politehnica University of Bucharest.
My interest in programming languages lead me to attending a D
workshop at Ideas and Projects Workshop in 2019 and D Summer
School this year, both held by Eduard Staniloiu and Razvan Nitu.
Topics like meta-programming and design by introspection made me
curious about how these concepts were implemented, thus
increasing my interest in compilers.
For this year's edition of SAoC I will be working on improving
dmd as a library, mainly by cleaning up the AST nodes by moving
the semantic elements in more suitable places and creating new
visitors when needed.
After studying the current state of dmd and identifying the parts
I will be working on, I have decided on following this plan:
- Getting used to the structure of the compiler by working on the
nodes that don't contain that much semantic information:
Milestone 1:
- aliasthis.d
- attrib.d
- statement.d
- aggregate.d
- cond.d
- staticcond.d
- nspace.d
- Work on the files where semantic elements either appear often,
or the functions in which they appear are used in many other
places and therefore more files would need changes
Milestone 2:
- mtype.d
- dstruct.d
- dclass.d
- denum.d
- dimport.d
Milestone 3:
- dsymbol.d
- expression.d
- dmodule.d
Milestone 4
- declaration.d
- func.d
- dtemplate.d
However, small changes to this plan may be necessary since other
changes to the compiler may raise unexpected issues for this
project.
For as much as time allows, and even after the end of this event,
I would also work on creating a nice compiler interface, which
would become much easier after this refactoring step.
I will be posting weekly updates regarding my progress on this
project.
Thanks!
Mihaela
More information about the Digitalmars-d
mailing list