-
-
Notifications
You must be signed in to change notification settings - Fork 2
Introduce token modes #127
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
Open
Lotes
wants to merge
106
commits into
main
Choose a base branch
from
lotes/lexer-modes
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 105 commits
Commits
Show all changes
106 commits
Select commit
Hold shift + click to select a range
372d5a0
WIP
msujew 783ca2f
Generate code
msujew 56544a1
Make my grammar changes
Lotes df2e77f
Rename Token
Lotes a6d990a
Go back some steps
Lotes 2d1b3f2
Intermediate save
Lotes 8519c9d
Quick save
Lotes 632e383
Quick save
Lotes 02aa2e7
Last corrections
Lotes 3c6ec5b
Add main generated files
Lotes 2711af2
Fix examples
Lotes b04b0aa
Fix token groups internal language
Lotes c2e7ac8
Fix lookahead internal language
Lotes 29da360
Fix completion internal language
Lotes d8b5018
Quick save
Lotes 54241cb
Quick save
Lotes 0149f08
Fix lexer mode pushing/popping
Lotes c0ec067
Save generated files
Lotes 90bfda9
Add parser tests for nested strings
Lotes 1a70f71
Quick save
Lotes 8b334af
Rename back
Lotes 6d9826f
Fix grammar for keywords
Lotes 9f214c7
Bootstrap
Lotes 8aedf4b
Add some util tests
Lotes 3311a90
Fix keyword positions
Lotes 27ed915
Fix statemachine grammar
Lotes 3948ade
Quick save
Lotes a4e1ae5
Add TokenTypeUsage
Lotes bbd3092
Add TokenModeMembers to token modes
Lotes 2378a6d
Bootstrap
Lotes 5138e02
Fix bootstrap
Lotes 97bf057
Remove keywords by AstNode
Lotes 020f692
Bootstrap
Lotes 861285c
Clean up
Lotes 0fedd6b
Add token mode's keyword usages + Bootstrap
Lotes fcde537
Generate token modes language
Lotes 6e6f85d
Add a validation for unique token mode names
Lotes 135e8ce
Fix lookahead language
Lotes 0c80b32
Fix token_groups language
Lotes 88fa1d3
Add keyword selector for token modes
Lotes 210026f
Add token decls inside token modes
Lotes 0324ad1
Fix scoping
Lotes 74e00b8
Add group type and command to token groups
Lotes 4768d8b
Reduce redundancy when computing token modes
Lotes 91636f0
Split out lexer util functions
Lotes a9734fb
Split generate token types
Lotes 61c65cc
Refactor collecting of lexer information
Lotes 23d0e79
Fix validation about unassigned rules
Lotes 5546120
Reintroduced another open TODO
Lotes 19ef6ac
Fix two crossref tests
Lotes ea2fba5
Fix test about token group contaiining invalid token ref
Lotes 2be06e4
Apply review comments
Lotes ae31604
Reduce nesting by refactor out sub function
Lotes 0423905
Fix generated types
Lotes 51de507
Add a benchmark test
Lotes c87189e
Fix linting errors
Lotes e9cbc14
Revert Fastbelt main grammar
Lotes 4a65240
Shorten completion grammar
Lotes 7499f0d
Add more unique rule name validations
Lotes 1a03eba
Fix rebase
Lotes 40f2d9d
Rename GroupType to TokenModifier
Lotes efb5b0e
Fix recovery and check token names for nil
Lotes b1269aa
Add diagnostic for required default token mode
Lotes fb2bd56
Add new validations
Lotes 10dcc56
Add more tests
Lotes 30ffbf3
Fix `token_modes.fb` STRING_CONTENT rule
Lotes b6c72e9
Persist more decisions
Lotes 4373189
Add code about non-cross-file-token-modes
Lotes a7fcf72
Update docs
Lotes ccc62a4
Remove TODO.md
Lotes a65e2fc
Revert statemachine and arithmetics example
Lotes 75a8725
Renamed groups and token types to token modifiers
Lotes e3eb7fd
Remove unrelevant capacity, remove parser from lexer benchmark
Lotes 051248c
Use WaitGroup.Go(...)
Lotes be87ad5
Remove doc.FindAstNode(...)
Lotes 9dae3d7
Add test for unreachable token mode cycle
Lotes a6383d4
Add more validations
Lotes d0ecac4
Add validations
Lotes 823998d
Fix tests
Lotes 3e0f309
Add another validation
Lotes 71d3b2f
Removed the prefix from state number enum
Lotes 557bdc7
Finish rebasing with MAIN branch
Lotes 032e9ff
Remove unused private function
Lotes 82acc18
Fix first comments
Lotes 8689336
Renamed token elements
Lotes cc6ec6a
Quick save
Lotes f9aa3bf
Quick save
Lotes 9d022fa
Fix tests finally
Lotes c881a9c
Remove linting issues
Lotes 933feaa
Replace repeating message with single function call
Lotes a22f6d3
Add more suggestions from review comments
Lotes a6b6648
Add RegExpLiteral validation
Lotes 4bc558d
Add token group names
Lotes ffc9594
Add all names instead
Lotes c675703
Fix comments
Lotes 80519c5
Next 2 findings
Lotes 4b67934
Fix markdown token names
Lotes 37b4f28
Update docs, resolve more comments
Lotes 7679148
Fix wording of groups to modifiers
Lotes 2a049b2
Add docs
Lotes 7d31402
Add brief explanation
Lotes ad4e967
Quick save
Lotes 26be6de
Add documentation
Lotes 2d29780
Rephrase docs
Lotes c6640c2
Fix docs
Lotes 032a230
Polishing comments
Lotes File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.