Sprint 3 complete: Phases 3g+3h (Steps 68-75), all 75 steps done
Phase 3g — Optimization Pipeline (17/17 tests): Step 68: TransformEngine — constant folding, dead code elimination, OptimizationLock warning Step 69: StrategyAwareOptimizer — annotation-constrained (@Reclaim allows, @Owner blocks duplication, @Deallocate blocks reorder, @Allocate blocks dynamic) Step 70: StrategyValidator — post-optimization invariants (use-after-free, leak, aliasing) Step 71: IncrementalOptimizer — transform journal, undo by ID, provenance tracking Phase 3h — Integration & Validation (26/26 tests): Step 72: Pipeline — end-to-end parse→infer→validate→optimize→generate for Python/C++ Step 73: Error handling — empty ASTs, null roots, nonexistent IDs, unannotated code Step 74: Performance benchmarks — 1000-fn AST 1ms, JSON round-trip 4ms, 50 transforms+undo 1ms Step 75: APIDocGenerator — structured docs for 23 components across 6 categories Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -20,32 +20,7 @@
|
||||
#include "ast/Statement.h"
|
||||
#include "ast/Expression.h"
|
||||
|
||||
// Forward declaration — IncrementalOptimizer
|
||||
class IncrementalOptimizer {
|
||||
public:
|
||||
struct TransformRecord {
|
||||
std::string transformId;
|
||||
std::string transformName; // e.g., "constant-fold", "dead-code-elim"
|
||||
std::vector<std::string> affectedNodeIds;
|
||||
};
|
||||
|
||||
void setRoot(ASTNode* root);
|
||||
|
||||
// Apply a named transform, returns its ID
|
||||
std::string applyTransform(const std::string& transformName);
|
||||
|
||||
// Get all applied transforms in order
|
||||
std::vector<TransformRecord> getTransformHistory() const;
|
||||
|
||||
// Undo a specific transform by ID
|
||||
bool undoTransform(const std::string& transformId);
|
||||
|
||||
// Undo the most recent transform
|
||||
bool undoLast();
|
||||
|
||||
// Get which transform created/modified a given node
|
||||
std::string getProvenance(const std::string& nodeId) const;
|
||||
};
|
||||
#include "IncrementalOptimizer.h"
|
||||
|
||||
int main() {
|
||||
int passed = 0;
|
||||
|
||||
Reference in New Issue
Block a user