September 30, 2020
Hello!

This is an update post for #SAOC2020.

My plan for last week was to:
- to continue analyzing the LALR1 D parser (done);
- to continue familiarizing myself with the M4 functions used within the repo (done);
- to start analyzing the C and C++ existing parsers, by writing programs that would help me understand the key differences between them (I didn't get to do this yet and I moved this on next week's to-do list).

As of last week:
- I continued analyzing the D LALR1 code and finished it for the most part. I found a few more bugs and solved them[0][1].
- I changed the return value of yylex() from int to TokenKind[2], as last week's patch was accepted.
- I started adding to Bison's documentation, and I will try to finish it for the moment, and add to it as I solve more bugs or add new features.
- The PR[3] for dlang/phobos is still open.
- I started working on changing the default value of api.token.raw[4] to true - as Dlang uses TokenKind and not int as a return value, collisions that are avoided by api.token.raw can't happen.
- I started working on adding lookahead correction[5] to D's LALR1 skeleton. This is a technique that allows for better error handling, and at the moment is not supported by the D backend.

The plan for next week is:
- to continue familiarizing myself with the M4 functions used within the repo (working on lookahead correction and continuing the add other features);
- to start analyzing the C and C++ existing parsers, by writing programs that would help me understand the key differences between them.

General milestones: [6].
Milestone 1 Update 1: [7].

[0]: https://github.com/akimd/bison/commit/de638df10447bde11a2a79c9c3233be1f7c406b6
[1]: https://github.com/akimd/bison/commit/2e5592b3abb94155e6814ddd985694df5dccfc67
[2]: https://github.com/akimd/bison/commit/f296669c0f23af63716050593865475471054941
[3]: https://github.com/dlang/phobos/pull/7642
[4]: https://www.gnu.org/software/bison/manual/html_node/_0025define-Summary.html
[5]: https://www.gnu.org/software/bison/manual/html_node/Lookahead.html
[6]: https://forum.dlang.org/post/ngdkxwyhrcduspuslfoe@forum.dlang.org
[7]: https://forum.dlang.org/post/xxnwpbmagtzuhwmsusnu@forum.dlang.org