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

C23-compliant lexer #76

Open
14 tasks
ForNeVeR opened this issue Jan 16, 2022 · 0 comments
Open
14 tasks

C23-compliant lexer #76

ForNeVeR opened this issue Jan 16, 2022 · 0 comments
Labels
area:parser The C language parser Cesium uses kind:feature New feature or request status:help-wanted Open for contributors

Comments

@ForNeVeR
Copy link
Owner

ForNeVeR commented Jan 16, 2022

Currently, we're using a C lexer from Yoakke, a wonderful language toolkit.

Though, it's not currently known how good the lexer is regarding the actual standard.

We should write tests and ensure the lexer is good enough to be the backbone of our parser, with relation to the following sections of the C standard:

  • 6.4 Lexical elements
    • 6.4.1 Keywords
    • 6.4.2 Identifiers
    • 6.4.3 Universal character names
    • 6.4.4 Constants
      • 6.4.4.1 Integer constants
      • 6.4.4.2 Floating constants
      • 6.4.4.3 Enumeration constants
      • 6.4.4.4 Character constants
    • 6.4.5 String literals
    • 6.4.6 Punctuators
    • 6.4.7 Header names
    • 6.4.8 Preprocessing numbers
    • 6.4.9 Comments

Note that certain features of the C standard may be hard to implement in the actual lexer, so they may involve parser support. This is okay, but still have to be thoroughly tested.

@ForNeVeR ForNeVeR added kind:feature New feature or request status:help-wanted Open for contributors area:parser The C language parser Cesium uses labels Jan 16, 2022
This was referenced Jan 16, 2022
@ForNeVeR ForNeVeR changed the title C17-compliant lexer C23-compliant lexer Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:parser The C language parser Cesium uses kind:feature New feature or request status:help-wanted Open for contributors
Projects
None yet
Development

No branches or pull requests

1 participant