Skip to content

phase2/03: ParseEnvironment for tags, typedef/enum APIs, session wire - #94

Merged
rieske merged 2 commits into
masterfrom
phase2/03-parse-environment
Jul 31, 2026
Merged

phase2/03: ParseEnvironment for tags, typedef/enum APIs, session wire#94
rieske merged 2 commits into
masterfrom
phase2/03-parse-environment

Conversation

@rieske

@rieske rieske commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • Extract ParseEnvironment for parse-time symbols: struct/union tags plus typedef/enum façade over LexicalSession.
  • Peel tag state off AbstractSyntaxTreeBuilderContext reduction stacks; CSNB uses context.environment() only.
  • Wire stack-owned session through Compiler → factory → syntax-tree builder; snapshot enum constants at build() for SA.

Stack

Phase 2 PR 3 of 6 (base: phase2/02-lex-id-context).

Depends on #93.

Enum production writers land on PR 04 (#95); typedef declaration-event writers on PR 05 (#96).

Test plan

  • ParseEnvironment unit tests (tag identity, typedef/enum through session)
  • Full ctest green on stack tip

Move struct tags into ParseEnvironment backed by LexicalSession. Thread the
session through AST builder and factory; snapshot parse enum constants on the
AST product for later SA import.
@mergify

mergify Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Base automatically changed from phase2/02-lex-id-context to master July 31, 2026 19:54
@coveralls

Copy link
Copy Markdown

Coverage Status

No base build to compare — phase2/03-parse-environment into master

@rieske
rieske merged commit d68d714 into master Jul 31, 2026
4 checks passed
@rieske
rieske deleted the phase2/03-parse-environment branch July 31, 2026 20:01
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

Successfully merging this pull request may close these issues.

2 participants