Mihaela Chirea - SAOC 2020 Milestone 2 Update 2 - Improving DMD as a Library

Mihaela Chirea chireamihaela99 at gmail.com
Sat Nov 7 11:28:34 UTC 2020


Here is an update of the progress made since the last update [1]:
- Brought all DMD as a library additions hidden behind a version 
under DMDLIB: CallbackAPI seemed to be the only one fitting this 
description so far [2]
- Added the start location to CPPMangleDeclaration, 
CPPNamespaceDeclaration and LinkDeclaration [3]

Currently, the CPPNamespaceDeclaration location starts at 
`extern`, just like Nspace, but moving it to the exact start of 
the name is possible. Would you consider this a better option?

The remaining nodes:
- StorageClassDeclaration
- DeprecatedDeclaration
- StaticForeachDeclaration: this one contains a StaticForeach 
which already starts at `static` so I'm not sure if adding it 
here as well would be necessary
- UserAttributeDeclaration: Jacob Carlborg made an attempt in 
this direction a while ago [4], I'll look into it and see what 
could be done in this regard

Next steps:
- Add locations to the remaining nodes
- Add token length

The tasks I planned for this milestone can be found here [5]


[2] https://github.com/dlang/dmd/pull/11923
[3] https://github.com/dlang/dmd/pull/11934
[4] https://github.com/dlang/dmd/pull/9359

More information about the Digitalmars-d mailing list