Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parser implementation #139

Merged
merged 20 commits into from
Aug 29, 2023
Merged

Parser implementation #139

merged 20 commits into from
Aug 29, 2023

Commits on Aug 25, 2023

  1. Configuration menu
    Copy the full SHA
    c6c5584 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a7b98b6 View commit details
    Browse the repository at this point in the history
  3. Add an optimized stack type.

    This is a port of Farkle 6's `StackNeo`.
    teo-tsirpanis committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    ddfcc37 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    95037d7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9d2a0a9 View commit details
    Browse the repository at this point in the history
  6. Update documentation.

    teo-tsirpanis committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    1be2ba8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4d768c6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    50479b2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0b34d83 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d13f5c4 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2023

  1. Configuration menu
    Copy the full SHA
    bc3a169 View commit details
    Browse the repository at this point in the history
  2. Do not discard the last token of a non-final block if the DFA cannot …

    …proceed from its current state.
    teo-tsirpanis committed Aug 27, 2023
    Configuration menu
    Copy the full SHA
    0540aad View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4349edf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4780068 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2023

  1. Configuration menu
    Copy the full SHA
    7f0fbd6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dd69b7b View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. Track in ParserState if suspending the tokenizer is supported.

    I thought that suspending the tokenizer without being in a chain would have no effect, but it actually has the effect of prohibiting subsequent suspensions.
    With this change, suspending is a real no-op if the tokenizer is not wrapped in a chain.
    teo-tsirpanis committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    55b8450 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5983a99 View commit details
    Browse the repository at this point in the history
  3. Fix a bug in CharacterBufferManager.

    `GetWriteBufferOffset` can resize the buffer, but calls to `_buffer.AsSpan(GetWriteBufferOffset(sizeHint))` always use the old buffer.
    The code was restructured to make the correct way to do it more apparent.
    teo-tsirpanis committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    3958c81 View commit details
    Browse the repository at this point in the history
  4. Push the initial state to the LR parser stack.

    Turns out it is always needed to do GOTOs from the initial state if we reduce a production with as many members as the stack.
    And with that we don't need to separately track the LR state anymore; it's at the top of the stack.
    teo-tsirpanis committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    112e674 View commit details
    Browse the repository at this point in the history