Asama 2.1 — Use unique_ptr for token ownership in AST #44

Open
opened 2026-05-26 19:52:00 +03:00 by saqut · 0 comments
Owner

Goal: AST nodes own their tokens via unique_ptr, eliminating memory leaks.

Files to modify:

  • src/parser/ast.hpp
  • src/parser/parser.hpp
  • src/parser/token.hpp

Requirements:

  • ParserToken::token changes from Token* to unique_ptr.
  • All AST nodes that store a ParserToken or Token* must use unique_ptr.
  • Parser transfers ownership when creating nodes.
  • Remove manual delete calls on tokens.

Success criteria:

  • No memory leaks when parsing and deleting AST.
  • Valgrind/ASan reports zero leaks on test cases.
**Goal:** AST nodes own their tokens via unique_ptr, eliminating memory leaks. **Files to modify:** - src/parser/ast.hpp - src/parser/parser.hpp - src/parser/token.hpp **Requirements:** - ParserToken::token changes from Token* to unique_ptr. - All AST nodes that store a ParserToken or Token* must use unique_ptr. - Parser transfers ownership when creating nodes. - Remove manual delete calls on tokens. **Success criteria:** - No memory leaks when parsing and deleting AST. - Valgrind/ASan reports zero leaks on test cases.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: saqut/saqut-compiler#44
No description provided.