grammar_utils/lr0/
state.rs1use super::*;
2
3#[derive(Debug)]
4#[derive(Clone, Copy, Eq, PartialEq, Hash)]
5pub struct StateIndex(pub(crate) usize);
6
7#[derive(PartialEq, Eq)]
8pub struct State<'g> {
9 itemset: ItemSet<'g>,
10}
11
12impl<'g> State<'g> {
13 pub(crate) fn new(itemset: ItemSet<'g>) -> Self {
14 State {
15 itemset,
16 }
17 }
18
19 pub fn itemset(&self) -> &ItemSet<'g> {
20 &self.itemset
21 }
22}
23
24impl From<StateIndex> for usize {
25 fn from(value: StateIndex) -> Self {
26 value.0
27 }
28}