Comment out partial skeleton impl temporarily

This commit is contained in:
Tony Garnock-Jones 2019-09-24 22:01:08 +01:00
parent a334134079
commit 4a9606ff5d
1 changed files with 59 additions and 59 deletions

View File

@ -1,73 +1,73 @@
use std::collections::BTreeMap;
use std::collections::BTreeSet;
use super::bag::BTreeBag;
use preserves::value::AValue;
// use std::collections::BTreeMap;
// use std::collections::BTreeSet;
// use super::bag::BTreeBag;
// use preserves::value::AValue;
pub enum Event {
Removed,
Message,
Added,
}
// pub enum Event {
// Removed,
// Message,
// Added,
// }
type Path = Vec<usize>;
type Paths = Vec<Path>;
type Captures = Vec<AValue>;
// type Path = Vec<usize>;
// type Paths = Vec<Path>;
// type Captures = Vec<AValue>;
trait HandleEvent {
fn handle_event<'a>(self, captures: &Captures);
}
// trait HandleEvent {
// fn handle_event<'a>(self, captures: &Captures);
// }
pub enum Skeleton {
Blank,
Guarded(Guard, Vec<Skeleton>)
}
// pub enum Skeleton {
// Blank,
// Guarded(Guard, Vec<Skeleton>)
// }
pub struct AnalysisResults {
skeleton: Skeleton,
const_paths: Paths,
const_vals: Vec<AValue>,
capture_paths: Paths,
assertion: AValue,
}
// pub struct AnalysisResults {
// skeleton: Skeleton,
// const_paths: Paths,
// const_vals: Vec<AValue>,
// capture_paths: Paths,
// assertion: AValue,
// }
pub struct Index {
all_assertions: BTreeBag<AValue>,
}
// pub struct Index {
// all_assertions: BTreeBag<AValue>,
// }
impl Index {
pub fn new() -> Self {
Index{ all_assertions: BTreeBag::new() }
}
// impl Index {
// pub fn new() -> Self {
// Index{ all_assertions: BTreeBag::new() }
// }
// pub fn add_handler(analysis_results: AnalysisResults,
}
// // pub fn add_handler(analysis_results: AnalysisResults,
// }
struct Node {
continuation: Continuation,
edges: BTreeMap<Selector, BTreeMap<Guard, Node>>,
}
// struct Node {
// continuation: Continuation,
// edges: BTreeMap<Selector, BTreeMap<Guard, Node>>,
// }
struct Continuation {
cached_assertions: BTreeSet<AValue>,
leaf_map: BTreeMap<Paths, BTreeMap<Vec<AValue>, Leaf>>,
}
// struct Continuation {
// cached_assertions: BTreeSet<AValue>,
// leaf_map: BTreeMap<Paths, BTreeMap<Vec<AValue>, Leaf>>,
// }
struct Selector {
pop_count: usize,
index: usize,
}
// struct Selector {
// pop_count: usize,
// index: usize,
// }
enum Guard {
Rec(AValue, usize),
Seq(usize),
}
// enum Guard {
// Rec(AValue, usize),
// Seq(usize),
// }
struct Leaf { // aka Topic
cached_assertions: BTreeSet<AValue>,
handler_map: BTreeMap<Paths, Handler>,
}
// struct Leaf { // aka Topic
// cached_assertions: BTreeSet<AValue>,
// handler_map: BTreeMap<Paths, Handler>,
// }
struct Handler {
cached_captures: BTreeBag<Captures>,
callbacks: BTreeSet<Box<dyn HandleEvent>>,
}
// struct Handler {
// cached_captures: BTreeBag<Captures>,
// callbacks: BTreeSet<Box<dyn HandleEvent>>,
// }