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

[C++29] Dissolve [lex] into the rest of the standard #7441

Open
AlisdairM opened this issue Nov 25, 2024 · 0 comments
Open

[C++29] Dissolve [lex] into the rest of the standard #7441

AlisdairM opened this issue Nov 25, 2024 · 0 comments

Comments

@AlisdairM
Copy link
Contributor

This is a suggestion for work as part of the broader C++29 chapter cleanup proposed in #7399. It is filed as its own issue to try to establish consensus to add an actionable item to that plan.

The proposal comes in a few stages:

First, make a clear separation between preprocessor phases 1-6 that entirely manipulate text, and C++ translation from phase 7 that adds syntactic and semantic analysis to the resulting tokens. This mostly means clearly separating out of identifiers and string literals the preprocessor specific aspects, likely into pp-identifiers and pp-string-literals.

Once the parts are properly separated, I would suggest moving the phases of translation into the intro material along side the definition of the abstract machine. This would also be a good place to move our definition of the term program.

The preprocessor side of lexing could then move to the start of [cpp], and the material on synaptic and semantic analysis of token would move into [basic].

We might then consider moving some aspects of [basic], such as the memory and concurrency models, into [intro] describing how the abstract machine maps to a real world execution environment.

This would achieve the aims originally espoused in #2252

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant