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

feat: implement a WDL lexer using logos. #30

Merged
merged 3 commits into from May 13, 2024

Conversation

peterhuene
Copy link
Collaborator

@peterhuene peterhuene commented May 8, 2024

This commit introduces an experimental module as a placeholder for a new parser implementation, feature-gated by the experimental feature.

To start, a lexer implementation based on logos has been added.

The lexer may have several different token types depending on context, mainly to support interpolation in string literals and commands.

The implementation should be enough to lex a 1.x WDL document.

The parser implementation that will make use of the lexer is forthcoming.

  • You have added a few sentences describing the PR here.
  • You have added yourself or the appropriate individual as the assignee.
  • You have added at least one relevant code reviewer to the PR.
  • Your code builds clean without any errors or warnings.
  • You have added an entry to the relevant CHANGELOG.md (see
    ["keep a changelog"] for more information).
  • Your commit messages follow the [conventional commit] style.
  • Your changes are squashed into a single commit (unless there is a really
    good, articulated reason as to why there shouldn't be more than one).

@peterhuene peterhuene added the enhancement New feature or request label May 8, 2024
@peterhuene peterhuene requested a review from claymcleod May 8, 2024 17:19
@peterhuene peterhuene self-assigned this May 8, 2024
Copy link
Member

@a-frantz a-frantz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you know this, but for the time being we're going to ignore the Gauntlet CI(Though we should make an attempt at reworking it sooner rather than latter)

This commit introduces an `experimental` module as a placeholder for a new
parser implementation.

To start, a lexer implementation based on `logos` has been added.

The lexer may have several different token types depending on context, mainly
to support interpolation in string literals and commands.

The implementation should be enough to lex a 1.x WDL document.

The parser implementation that will make use of the lexer is forthcoming.
Add a comment to the lexer's draft-3 test to mention that the parser will still
not support draft-3 documents.
This commit adds an `experimental` feature to `wdl-grammar` that enables the
inclusion of the "experimental" parser.
@peterhuene peterhuene merged commit 0d48344 into stjude-rust-labs:main May 13, 2024
5 of 6 checks passed
@peterhuene peterhuene deleted the new-lexer branch May 13, 2024 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants