Adela Vais - SAOC Milestone 1 Update 2 - Dlang GLR Parser for GNU Bison
Adela Vais
adela.vais99 at gmail.com
Wed Sep 30 13:13:07 UTC 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
More information about the Digitalmars-d
mailing list