@fabric_v1/compiler
Version:
Fabric DSL compiler (parser, checker, IR & backends)
29 lines (28 loc) • 587 B
TypeScript
export interface ASTNode {
kind: string;
[key: string]: any;
}
export interface AtomBlock extends ASTNode {
kind: "Atom";
name: string;
protons: BitLiteral[];
electrons: BitLiteral[];
policy: AtomPolicy;
}
export interface BitLiteral {
kind: "Bit";
value: 0 | 1;
}
export interface AtomPolicy {
mutable: number[];
energy_budget: number;
}
export interface PolicyBlock extends ASTNode {
kind: "Policy";
entries: any[];
}
export interface EntanglementRef extends ASTNode {
kind: "Entangle";
source: string;
target: string;
}