Hello everyone,
I’m glad to be part of the Fortran-Lang community as a GSoC student. I’m looking forward to learning a lot of things this summer. Thank you all for providing me this opportunity.
Also, Congratulation to all the students who got selected for GSoC!!
I created this thread so that I can share the progress of my work during the GSoC period.
Every Friday night, I will be posting about the progress I made this week and what I planned to do next week.
Everyone is invited to review the progress or blog post and I really appreciate for providing the feedback!
Hello Everyone!
Welcome for Week #3 Progress report
The plan for this week was discussed with the mentor(Ondřej Čertík) which was to implement Coarrays, this was quite challenging too. But thanks to Ondřej sir, who explained each and every step for implementing it. Also, Ondřej sir added a test and parsed some of the syntaxes in the parser, which gave me the confidence to get started with the coarrays, after 2 days of research and implementation I sent the MR, there were some minor corrections as suggested by Ondřej sir. I corrected all the suggestions and now LFortran can parse most of the Coarrays syntax.
The rest of the implementation(Use, derived type, array) was like a piece of cake!
Thank you sir for guiding me in each stages. It was a great help.
This week was a completely busy week. At first, we(me and Ondřej Čertík sir) planned to execute all the source programs in fpm/src to print as it is, using
$ lfortran fmt filname.f90
After executing more and more programs, we found the missing statements that were skipped while printing(using fmt). After fixing allocate, stars(Co-arrays), defined operator, return (fmt), we started to notice some statements that were not parsed by the parser. In reference to the standards, we implemented some lines in the parser to parse stat, errmsg, until_count, ( Sync all, Event post, Event Wait) Quiet, (Error Stop) assignment and operator (Declaration).
(!974) Create a new function, which assigns value to all the elements in the struct
After completing the above implementation, Now LFortran can parse and print most of the source code as it is!! (fmt is not yet completely finished, but the parser is almost completed)
As of now, we executed 2-3 programs from the fpm/src(which it parses and prints correctly), in the upcoming days we planned to complete the fpm programs and move forward.
Upcoming Week:
execute all the fpm source programs
fmt: print the expressions correctly by removing unwanted brackets
fmt: better printing of the strings
solve some of the existing issues
[Feel free to provide any feedback, suggestions, and improvements]
As I mentioned in the last week’s Upcoming work, I executed all the programs in the fpm/src, and we were to parse and print(fmt), all the statements in the source code! Now only the missing part is parsing the comments and empty lines, exposing them to the AST, and finally printing them using fmt. We are looking forward to start them in the upcoming days!
Some statements were not parsed by the parser, So I started to research about these statements on the internet as well as in the standard. Finally, I was able to parse, expose(to AST) and print(fmt) the code as it is, and yea!! Now LFortran can parse Critica, Data, Common, and Block Data statements.
Very good progress. Thank you. We can try to run lfortran fmt again on the fpm source code and see if there are any other issues left to resolve. I can help with tackling of the comments and empty lines.
Very good job. Thank you @ThirumalaiShaktivel. Our goal for this week is to fix the rest of the AST issues (besides comments / new lines) and test it on as many codes as we can to see if there are any other issues remaining. After that, we will ask the wider community to give it a spin!
Hello Everyone, Welcome back!!
As Ondřej Čertík said, Our goal for this week was to fix rest of the AST issues, for that I executed as many Fortran Source codes as possible, reported and fixed all the issues related to the source code.
And also we discussed about the Comments and empty lines in the meeting. As soon as we complete the AST issues, we are gonna start with Comments and empty lines.
Yes, our goal for next week is to try to fix the remaining issues that we know about, make an LFortran release and ask the community to test the parser out. The remaining issues are:
As discussed in the Video Call, we executed some Fortran source programs, reported the bugs, and solved any related issues!!
Worked on the issue: #327(Parsing Issues)
“Alone, we can do so little; together, we can do so much”
~ Helen Keller
Week #9 Progress report
As we planned, Ondřej Čertík sir released a new version of LFortran 0.11.0. I need to thank the people who helped us find bugs and report them! The community has been very helpful! Thank you, Everyone!. For me, this week’s work has been finding bugs and fixing them.
Hello Everyone, welcome back. This is my last report for GSoC 2021. I enjoyed learning a lot of things working with my project, it was a great pleasure to be a part of this community. I sincerely thank Ondřej Čertík sir, who helped me in every stage of my contributions.
I would like to contribute more in the future as well.
Final Week progress:
Add Comments, Semicolons, and EndOfLine AST nodes, expose them to AST, create a visit function for printing the trivia using fmt subcommand.