www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Mihaela Chirea - SAOC 2020 Milestone 3 Update 2 - Improving DMD as a

reply Mihaela Chirea <chireamihaela99 gmail.com> writes:
Hello!

Here is an update of the progress made since the last update:
- Worked on the FileManager
- Checked the locations of all AST nodes produced by the parser. 
Besides VarDeclaration and FuncDeclaration that start with the 
names and skip the types and storage classes (as mentioned here 
[1]), CallExp also seems to start at a weird position: skips the 
function name and sets loc to the location of '(':

foo(1, 2); // starts at column 4
1.foo(2); // starts at column 6

Next steps:
- Finish integrating the FileManager into the compiler
- Start looking into hiding the TypeInfo nodes when not needed [2]
- Insert a UserAttributeDeclarationItem node (as suggested 
here[3]) to preserve the location of user defined attributes

The tasks I planned for this project can be found here [4]

[1] 
https://forum.dlang.org/post/oqbvebbgpyeyxadgisfb forum.dlang.org
[2] 
https://forum.dlang.org/post/iopxhnudlrgiqwjxzihe forum.dlang.org
[3] 
https://forum.dlang.org/post/ymtjsccajclfhjrwjcrj forum.dlang.org
[4] 
https://forum.dlang.org/post/kfcxcjauafpcrmfuajam forum.dlang.org
Dec 12 2020
parent RSY <rsy_881 gmail.com> writes:
On Sunday, 13 December 2020 at 00:24:50 UTC, Mihaela Chirea wrote:
 Hello!

 Here is an update of the progress made since the last update:
 - Worked on the FileManager
 - Checked the locations of all AST nodes produced by the 
 parser. Besides VarDeclaration and FuncDeclaration that start 
 with the names and skip the types and storage classes (as 
 mentioned here [1]), CallExp also seems to start at a weird 
 position: skips the function name and sets loc to the location 
 of '(':

 foo(1, 2); // starts at column 4
 1.foo(2); // starts at column 6

 Next steps:
 - Finish integrating the FileManager into the compiler
 - Start looking into hiding the TypeInfo nodes when not needed 
 [2]
 - Insert a UserAttributeDeclarationItem node (as suggested 
 here[3]) to preserve the location of user defined attributes

 The tasks I planned for this project can be found here [4]

 [1] 
 https://forum.dlang.org/post/oqbvebbgpyeyxadgisfb forum.dlang.org
 [2] 
 https://forum.dlang.org/post/iopxhnudlrgiqwjxzihe forum.dlang.org
 [3] 
 https://forum.dlang.org/post/ymtjsccajclfhjrwjcrj forum.dlang.org
 [4] 
 https://forum.dlang.org/post/kfcxcjauafpcrmfuajam forum.dlang.org
Thanks for your work! I believe many are looking for using the compiler as a library for things like server language in IDEs, so that's awesome!
Dec 12 2020