Skip to content

Release 0.7.1#48

Closed
Likith Viswanath Basina (likivisw) wants to merge 1 commit into
qualcomm:mainfrom
likivisw:main
Closed

Release 0.7.1#48
Likith Viswanath Basina (likivisw) wants to merge 1 commit into
qualcomm:mainfrom
likivisw:main

Conversation

@likivisw

Copy link
Copy Markdown
Contributor

Changelog

All notable changes to this project are documented here.


[0.7.1]

⚠️ Deprecation Notice — Alpha Parser

The Alpha Parser is now deprecated.

  • No new features will be added to the Alpha Parser.
  • Only critical bug fixes will be applied going forward.
  • All new language support is being added exclusively to the Beta Parser.
  • The Alpha Parser's private data structures have been extracted into
    src/common/ as the first step toward its eventual removal.

⚠️ Critical Behavior — Fatal Errors Block All Output

If the Alpha Parser encounters even one fatal error, the Beta Parser is
never invoked and no final compatibility report is produced.

The processing pipeline in runArmorTool is:

Alpha Parser runs first
    │
    ├─ NO_FATAL_ERRORS  →  Beta Parser runs  →  Report generated ✅
    │
    └─ FATAL_ERRORS     →  Beta Parser SKIPPED  →  No report ❌

Fatal errors are triggered by:

  • A missing or unresolvable #include directive in the header under analysis.
  • Any syntax error severe enough to prevent the preprocessor from completing.

When a fatal error occurs the tool emits an error message and exits without
producing a compatibility report. Fix all missing dependencies and re-run.


Added

Beta Parser — New Language Support

  • Added detection support for namespaces, friend declarations, and classes.

Shared Infrastructure (src/common/)

  • New shared utilities consolidated into src/common/ under namespace armor.
  • Shared data structures ASTNormalizedContext, APISession, and APINode consolidated into src/common/.

Tests

  • New beta functional test suite for C++ node caching.
  • New shell script for beta functional test execution.

Tooling

  • New utility script to revert whitespace-only changes in the working tree.

Changed

Alpha Parser — Role Reduced to Fatal-Error Detection Only

  • AST traversal and node building removed; the Alpha Parser now only detects fatal #include failures.
  • Alpha parser source files updated to use shared armor:: types from src/common/.

Beta Parser — Namespace and Type Unification

  • Beta parser source files updated to use shared armor:: types from src/common/.

Armor Entry Point (src/armor/)

  • Updated to use fully-qualified armor::alpha:: / armor::beta:: namespace calls and the shared session.hpp.

Build System

  • CMake files updated to reflect the new src/common/ module layout.
  • Test CMakeLists.txt files relocated from src/tests/*/src/ to src/tests/*/.

Tests

  • Test expected outputs and source files updated to match the reduced alpha parser output and unified armor:: namespaces.

Removed

Alpha Parser — Private Implementations (moved to src/common/)

  • ast_normalized_context, session, node, and tree_builder removed from src/alpha/; canonical copies now live in src/common/.

Beta Parser — Private Implementations (moved to src/common/)

  • ast_normalized_context, session, and node removed from src/beta/; canonical copies now live in src/common/.

Alpha Functional Tests (deprecated alongside the Alpha Parser)

  • Eleven alpha-specific functional test suites removed; coverage is now provided by the Beta Parser test suite.

Summary

This release marks the beginning of the Alpha Parser deprecation path.
The Alpha Parser's role has been reduced to fatal-error detection only, while
the Beta Parser takes over full AST analysis and report generation. Shared
data structures and utilities previously duplicated across alpha and beta
have been consolidated into src/common/.

Deprecate alpha parser.
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.

1 participant