GSoC: Localization of Compiler Diagnostic Messages

Hey @xedin, I came across this project and after doing some research I now believe I can contribute to this project. I need your guidance now to know if I am going in the right direction or not. How can I contact you for this? Please do let me know

Hi Adarsh! Thank you for the interest in the project! You can reach me via direct message on the forums or email at pavel.yaskevich@gmail.com.

Hi Pavel,

Thanks for replying. I wanted to know about some resources where I can get help from and also could please guide me on how to go about this topic.

Looking forward to hear from you.

Thanks & Regards

Adarsh Kumar Das

It depends on what kind of help you are looking for. I can answer any technical questions you might have and point you in the right direction.

I am currently studying about clang and how compliers work, how diagnostic messages in clang work and the various types of diagnostic messages. Am I going in the right direction?

And could you please tell me what else should I do research upon.

Thanks

Adarsh Kumar Das

Yes, that's definitely in the right direction! Clang and Swift share a lot of infrastructure around this. Here are some details to consider.

Currently diagnostic definitions are located in .def files e.g. DiagnosticsSema.def. We'd like to change that so diagnostics could be stored in a more accessible format like JSON or YAML (or something else entirely) to make it easy for (non-technical) people to work with diagnostics and contribute new translations.

Another disadvantage of .def files is that they are pre-processed into another format while compiler itself is built. With a new format we'd like this limitation to be lifted to enable rapid changes to diagnostic messages e.g. path to the file could be passed via argument to the compiler as well as expected locale.

Swift sources are located at https://github.com/apple/swift. The most relevant bits of the compiler code are located in DiagnosticEngine , and various DiagnosticConsumer classes. Clients could be found in e.g. lib/Sema/CSDiagnostics.cpp .

Thanks for the guidance Pavel. I will surely work on it and will reach out to you if I have any questions.

Thanks and Regards

Adarsh Kumar Das

No problem! Please feel free to reach out if you have any other questions!

Hi Pavel,

I am doing some research currently on JSON and .def files but I cannot get any valuable information on .def files. Could you help me out with some resources? I also wanted to know that should I select more projects or should I go ahead with this for this year's summer of code?

Please let me know.

Thank You

Adarsh Kumar Das

.def files are Clang/Swift specific so there is not much documentation, you'd have to take a look at the code to figure out how it all works e.g. https://github.com/apple/swift/blob/master/lib/AST/DiagnosticEngine.cpp#L71-L89

DiagnosticsAll.def includes all other .def files e.g. DiagnosticsParse.def, DiagnosticsSema.def etc. and DiagnosticEngine.cpp has all of the macro declarations to work with them.

Regarding selecting a project - it's totally up to you, you can look into more projects and work on the proposal for localization in parallel if you feel like you are up to the task.

Thanks for the help Pavel. I am going through the codes present in the repository and trying to know how these files work.

Thank you

Adarsh Kumar Das

1 Like

Hi Pavel,

I am currently getting some understanding about clang and the codes in the repository. While I prepare for the project, I am thinking about trying to fix some issues which would help me in getting a better understanding of the project I will be working on. Could you please suggest me some issues which are somewhat easy to fix and also could you let me know where I can get to know about these issues.

Thanks and Regards

Adarsh Kumar Das.

Hi Adarsh,

I'm also trying to get into GSoC on the same project as you. :sweat_smile:
Anyway, here's what I found useful in the past couple of days on my research:
Fist of all I can't recommend @suyashsrijan's blogs enough. You should definitely start with reading both blogs. First part, second part.

You can go to bugs.swift.org and view the unassigned issues with the StarterBug label. An example of that would be something like [SR-12247].

Welcome to the community and good luck for both of us! :))

Hi Hassan,

Thanks for all the information you shared with me. I would surely go through whatever is mentioned in the mail. Hopefully we could connect in the future as well.

Goodluck to you.

Thanks and regards

Adarsh Kumar Das

Hey @xedin, I came across this project and after doing some research I now believe I can contribute to this project. I need your guidance now to know if I am going in the right direction or not. How can I contact you for this? And how can i get some assistance from you

@manushahi Thank you for the interest in the project! You can reach me while private messages here on forums or via email - pavel.yaskevich@gmail.com.

Terms of Service

Privacy Policy

Cookie Policy