/**
 * Custom error classes for the Ladder Engine
 */
export class LadderError extends Error {
    constructor(message) {
        super(message);
        this.name = 'LadderError';
    }
}
export class InvalidMemoryAccessError extends LadderError {
    constructor(address) {
        super(`Invalid memory access at address: ${address}`);
        this.name = 'InvalidMemoryAccessError';
    }
}
export class CircularLogicError extends LadderError {
    constructor(rungId) {
        super(`Circular logic detected in rung: ${rungId}`);
        this.name = 'CircularLogicError';
    }
}
export class MathOperationError extends LadderError {
    constructor(operation, details) {
        super(`Math operation error (${operation}): ${details}`);
        this.name = 'MathOperationError';
    }
}