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


Hello!

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]

#SAOC2020

[1] 
https://forum.dlang.org/post/fodopjdbdxqclclsdcrn@forum.dlang.org
[2] https://github.com/dlang/dmd/pull/11923
[3] https://github.com/dlang/dmd/pull/11934
[4] https://github.com/dlang/dmd/pull/9359
[5] 
https://forum.dlang.org/post/kfcxcjauafpcrmfuajam@forum.dlang.org


More information about the Digitalmars-d mailing list