EDL Parser Implementation: Part 2

Reporter: dc03  |  Status: open  |  Last Modified: August 07, 2022, 12:58:25 pm

These series of commits will focus on getting the EDL parser to conform to the EDL BNF grammar (https://docs.google.com/document/d/1Y03zEiztiV-XhSAJxm0pH7_13dGgS5_nFzLXX7AV_5A/edit?usp=sharing) as much as possible, and is the precursor to Part 2 of my GSoC project.

Expressions:

  • Binary expressions
    • Generic binary expression
  • Unary prefix expressions
    • Generic unary prefix expression
    • sizeof expression
      • sizeof <unary-expr>
      • sizeof ( <type-id> )
      • sizeof ... ( <identifier> )
    • alignof expression
    • co_await expression
    • noexcept expression
    • new expression
    • delete expression
    • Cast expressions
  • Unary postfix expressions
    • Generic unary postfix expression
    • Array subscript expression
    • Function call expression
    • Temporary object initialization expressions
    • dynamic_cast / static_cast / const_cast / reinterpret_cast expressions
  • Ternary expressions
    • Conditional expression
  • Primary expressions
    • Literal expressions
    • Parenthetical expression
    • Qualified/Unqualified id expressions

Statements:

  • Block statement
  • Break statement
  • Continue statement
  • Exit statement
  • If statement
  • Return statement
  • Switch statement
  • With statement

Loops:

  • Do-while loop
  • Do-until loop
  • For loop
  • Repeat loop
  • Until loop
  • While loop

Declarators

  • Simple type specifiers
  • Elaborated type specifiers
  • Typename specifiers
  • Function specifiers
  • Template specifiers
  • Nested name specifiers
  • Pointer declarators
  • No-pointer declarators
  • Abstract declarators
  • Declarators

Initializers

  • Equals initializer
  • Brace initializer
  • Designated initializer

Declarations

  • Declarations
Please sign in to post comments, or you can view this issue on GitHub.