use crate::diagrams::flowchart::{
ArrowToken, ClassAssignStmt, ClassDefStmt, ClickStmt, DirectionStatementToken, Edge, FlowchartAst,
FlowNodeProvenance, FlowNodeSyntax, LabeledText, LinkStyleStmt, LinkToken, Node, NodeLabelToken,
StatementArena, StatementId, StatementList, Stmt, StyleStmt, SubgraphBlock, SubgraphHeader, TitleKind, Tok
};
use crate::SourceSpan;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
#[allow(unused_imports)]
use self::__lalrpop_util::state_machine as __state_machine;
#[allow(unused_extern_crates)]
extern crate alloc;
#[rustfmt::skip]
#[allow(explicit_outlives_requirements, non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports, unused_parens, clippy::needless_lifetimes, clippy::type_complexity, clippy::needless_return, clippy::too_many_arguments, clippy::match_single_binding, clippy::clone_on_copy, clippy::unit_arg)]
mod __parse__FlowchartAst {
use crate::diagrams::flowchart::{
ArrowToken, ClassAssignStmt, ClassDefStmt, ClickStmt, DirectionStatementToken, Edge, FlowchartAst,
FlowNodeProvenance, FlowNodeSyntax, LabeledText, LinkStyleStmt, LinkToken, Node, NodeLabelToken,
StatementArena, StatementId, StatementList, Stmt, StyleStmt, SubgraphBlock, SubgraphHeader, TitleKind, Tok
};
use crate::SourceSpan;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
#[allow(unused_imports)]
use self::__lalrpop_util::state_machine as __state_machine;
#[allow(unused_extern_crates)]
extern crate alloc;
use super::__ToTriple;
#[allow(dead_code)]
pub(crate) enum __Symbol<>
{
Variant0(Tok),
Variant1(String),
Variant2(DirectionStatementToken),
Variant3(NodeLabelToken),
Variant4(ArrowToken),
Variant5(LabeledText),
Variant6(SubgraphHeader),
Variant7(StyleStmt),
Variant8(ClassDefStmt),
Variant9(ClassAssignStmt),
Variant10(ClickStmt),
Variant11(LinkStyleStmt),
Variant12(usize),
Variant13((Vec<Vec<Node>>, Vec<Vec<Edge>>)),
Variant14(Vec<String>),
Variant15(Option<String>),
Variant16(Option<LabeledText>),
Variant17((Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)),
Variant18(alloc::vec::Vec<(Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)>),
Variant19(FlowchartAst),
Variant20((String, Option<String>, SourceSpan)),
Variant21(Vec<Node>),
Variant22(Node),
Variant23(alloc::vec::Vec<Node>),
Variant24(()),
Variant25(StatementId),
Variant26(StatementList),
Variant27(SubgraphBlock),
Variant28(Option<SubgraphHeader>),
}
const __ACTION: &[i8] = &[
-42, -42, -42, -42, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37, 35, 36, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-42, -42, -42, -42, -42, -42, 3, 0, 0, 0, -42, -42, 0, 0, 0, 0, -42, -42, -42, -42, -42, 0, 0,
0, 0, 0, 0, -42, 0, 3, 0, 0, 0, -42, -42, 0, 0, 0, 0, -42, -42, -42, -42, -42, 0, 0,
0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 52, 10, 0, 0, 0, 0, 54, 50, 49, 51, 53, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, -27, 0,
0, 0, 0, 0, 0, -42, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 19, -5, 0, 0, 0, 0, 0, 0, 0, -5, 20,
0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -29, -29, 14, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, -28, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -42, -42, 3, 0, 0, 0, -42, -42, 0, 0, 0, 0, -42, -42, -42, -42, -42, 0, 0,
0, 0, 0, 0, 9, -60, 0, 0, 0, 0, 52, 10, 0, 0, 0, 0, 54, 50, 49, 51, 53, 0, 0,
0, 0, 0, 0, -42, -42, 3, 0, 0, 0, -42, -42, 0, 0, 0, 0, -42, -42, -42, -42, -42, 0, 0,
0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -5, 27,
0, 0, 0, 0, 0, -48, -48, -5, 61, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -5, 0,
0, 0, 0, 0, 0, -27, -27, 14, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, -27, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 29, -5, 0, 0, 0, 0, 0, 0, 0, -5, 30,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 9, -43, 0, 0, 0, 0, 52, 10, 0, 0, 0, 0, 54, 50, 49, 51, 53, 0, 0,
0, 0, 0, 0, 9, -60, 0, 0, 0, 0, 52, 10, 0, 0, 0, 0, 54, 50, 49, 51, 53, 0, 0,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -5, 0,
0, 0, 0, 0, 0, -28, -28, 14, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, -28, 0,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -5, 33,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -42, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, -5, -5, 61, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -22, 0, -22, 0, 0, 40, -22, -22, 0, 0, 0, 0, -22, -22, -22, -22, -22, 0, 0,
0, 0, 0, 0, -24, 0, -24, 0, 0, 41, -24, -24, 0, 0, 0, 0, -24, -24, -24, -24, -24, 0, 0,
0, 0, 0, 0, -20, 0, -20, 0, 0, 42, -20, -20, 0, 0, 0, 0, -20, -20, -20, -20, -20, 0, 0,
0, 0, 0, 0, -26, 0, -26, 0, 0, 43, -26, -26, 0, 0, 0, 0, -26, -26, -26, -26, -26, 0, 0,
-43, -43, -43, -43, -43, -43, 0, 0, 0, 0, -43, -43, 0, 0, 0, 0, -43, -43, -43, -43, -43, 0, 0,
0, 0, 0, 0, -21, 0, -21, 0, 0, 0, -21, -21, 0, 0, 0, 0, -21, -21, -21, -21, -21, 0, 0,
0, 0, 0, 0, -23, 0, -23, 0, 0, 0, -23, -23, 0, 0, 0, 0, -23, -23, -23, -23, -23, 0, 0,
0, 0, 0, 0, -19, 0, -19, 0, 0, 0, -19, -19, 0, 0, 0, 0, -19, -19, -19, -19, -19, 0, 0,
0, 0, 0, 0, -25, 0, -25, 0, 0, 0, -25, -25, 0, 0, 0, 0, -25, -25, -25, -25, -25, 0, 0,
0, 0, 0, 0, 0, -47, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -49, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -50, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -51, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -55, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -54, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -56, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -52, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -57, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -53, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -16, -16, 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, -16, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -33, -33, -33, 0, 0, 0, 0, 0, -33, 0, 0, 0, 0, 0, 0, 0, -33, 0,
0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -37, -37, -41, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, -41, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -17, -17, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, 0, 0, 0, 0, -17, 0,
0, 0, 0, 0, 0, -15, -15, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, -15, 0,
0, 0, 0, 0, 0, -34, -34, -34, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, 0, -34, 0,
0, 0, 0, 0, 0, -30, -30, -30, 0, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, -30, 0,
0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -44, -44, 0, 0, 0, 0, -44, -44, 0, 0, 0, 0, -44, -44, -44, -44, -44, 0, 0,
0, 0, 0, 0, 0, -36, -36, -39, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, -39, 0,
0, 0, 0, 0, 0, -40, -40, -40, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, -40, 0,
0, 0, 0, 0, 0, -4, -4, -4, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, -4, 0,
0, 0, 0, 0, 0, -14, -14, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -14, 0,
0, 0, 0, 0, 0, -41, -41, -41, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, -41, 0,
0, 0, 0, 0, 0, -13, -13, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, -13, 0,
0, 0, 0, 0, 0, -63, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -35, -35, -38, 0, 0, 0, 0, 0, -38, 0, 0, 0, 0, 0, 0, 0, -38, 0,
0, 0, 0, 0, 0, -39, -39, -39, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, -39, 0,
0, 0, 0, 0, 0, -12, -12, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, -12, 0,
0, 0, 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -62, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -38, -38, -38, 0, 0, 0, 0, 0, -38, 0, 0, 0, 0, 0, 0, 0, -38, 0,
];
fn __action(state: i8, integer: usize) -> i8 {
__ACTION[(state as usize) * 23 + integer]
}
const __EOF_ACTION: &[i8] = &[
0,
0,
-42,
-42,
-60,
0,
0,
-42,
0,
-5,
-3,
0,
-29,
0,
-42,
0,
0,
0,
-5,
-48,
-27,
0,
-5,
0,
-43,
0,
-5,
-28,
-5,
-5,
0,
-42,
-5,
-66,
-22,
-24,
-20,
-26,
-43,
-21,
-23,
-19,
-25,
-47,
-49,
-50,
-18,
-51,
-55,
-54,
-56,
-52,
-57,
-53,
-16,
0,
-33,
-59,
-61,
-37,
0,
-17,
-15,
-34,
-30,
0,
0,
-36,
-40,
-4,
-14,
-41,
-13,
-63,
0,
-35,
-39,
-12,
-58,
-62,
-38,
];
fn __goto(state: i8, nt: usize) -> i8 {
match nt {
2 => 43,
3 => match state {
9 => 59,
18 => 67,
22 => 71,
26 => 75,
28 => 76,
32 => 80,
_ => 68,
},
7 => match state {
10 => 61,
_ => 54,
},
8 => 10,
9 => 33,
10 => 3,
11 => match state {
11 => 62,
21 => 70,
23 => 72,
30 => 77,
_ => 5,
},
12 => 44,
13 => match state {
12 | 27 => 63,
_ => 56,
},
15 => match state {
20 => 27,
_ => 12,
},
16 => 45,
17 => match state {
4 | 15 | 24..=25 => 6,
13 => 64,
_ => 20,
},
18 => match state {
0 => 1,
3 => 4,
14 => 24,
2 => 38,
16 => 66,
_ => 57,
},
19 => match state {
17 => 25,
_ => 15,
},
21 => match state {
24 => 31,
_ => 7,
},
22 => match state {
31 => 78,
_ => 58,
},
23 => match state {
15 => 65,
25 => 74,
_ => 46,
},
24 => 47,
_ => 0,
}
}
#[allow(clippy::needless_raw_string_hashes)]
const __TERMINAL: &[&str] = &[
r###""graph""###,
r###""flowchart""###,
r###""flowchart-elk""###,
r###""swimlane-beta""###,
r###""subgraph""###,
r###""end""###,
r###"Sep"###,
r###"Amp"###,
r###"StyleSep"###,
r###"Direction"###,
r###"DirectionStmt"###,
r###"Id"###,
r###"NodeLabel"###,
r###"Arrow"###,
r###"EdgeLabel"###,
r###"SubgraphHeader"###,
r###"StyleStmt"###,
r###"ClassDefStmt"###,
r###"ClassAssignStmt"###,
r###"ClickStmt"###,
r###"LinkStyleStmt"###,
r###"EdgeId"###,
r###"ShapeData"###,
];
fn __expected_tokens(__state: i8) -> alloc::vec::Vec<alloc::string::String> {
__TERMINAL.iter().enumerate().filter_map(|(index, terminal)| {
let next_state = __action(__state, index);
if next_state == 0 {
None
} else {
Some(alloc::string::ToString::to_string(terminal))
}
}).collect()
}
fn __expected_tokens_from_states<
'__0,
'__1,
>(
__states: &[i8],
_: core::marker::PhantomData<()>,
) -> alloc::vec::Vec<alloc::string::String>
{
__TERMINAL.iter().enumerate().filter_map(|(index, terminal)| {
if __accepts(None, __states, Some(index), core::marker::PhantomData::<()>) {
Some(alloc::string::ToString::to_string(terminal))
} else {
None
}
}).collect()
}
struct __StateMachine<'__0, '__1>
where
{
statements: &'__0 mut StatementArena,
control: &'__1 crate::OperationControl,
__phantom: core::marker::PhantomData<()>,
}
impl<'__0, '__1> __state_machine::ParserDefinition for __StateMachine<'__0, '__1>
where
{
type Location = usize;
type Error = crate::diagrams::flowchart::LexError;
type Token = Tok;
type TokenIndex = usize;
type Symbol = __Symbol<>;
type Success = FlowchartAst;
type StateIndex = i8;
type Action = i8;
type ReduceIndex = i8;
type NonterminalIndex = usize;
#[inline]
fn start_location(&self) -> Self::Location {
Default::default()
}
#[inline]
fn start_state(&self) -> Self::StateIndex {
0
}
#[inline]
fn token_to_index(&self, token: &Self::Token) -> Option<usize> {
__token_to_integer(token, core::marker::PhantomData::<()>)
}
#[inline]
fn action(&self, state: i8, integer: usize) -> i8 {
__action(state, integer)
}
#[inline]
fn error_action(&self, state: i8) -> i8 {
__action(state, 23 - 1)
}
#[inline]
fn eof_action(&self, state: i8) -> i8 {
__EOF_ACTION[state as usize]
}
#[inline]
fn goto(&self, state: i8, nt: usize) -> i8 {
__goto(state, nt)
}
fn token_to_symbol(&self, token_index: usize, token: Self::Token) -> Self::Symbol {
__token_to_symbol(token_index, token, core::marker::PhantomData::<()>)
}
fn expected_tokens(&self, state: i8) -> alloc::vec::Vec<alloc::string::String> {
__expected_tokens(state)
}
fn expected_tokens_from_states(&self, states: &[i8]) -> alloc::vec::Vec<alloc::string::String> {
__expected_tokens_from_states(states, core::marker::PhantomData::<()>)
}
#[inline]
fn uses_error_recovery(&self) -> bool {
false
}
#[inline]
fn error_recovery_symbol(
&self,
recovery: __state_machine::ErrorRecovery<Self>,
) -> Self::Symbol {
panic!("error recovery not enabled for this grammar")
}
fn reduce(
&mut self,
action: i8,
start_location: Option<&Self::Location>,
states: &mut alloc::vec::Vec<i8>,
symbols: &mut alloc::vec::Vec<__state_machine::SymbolTriple<Self>>,
) -> Option<__state_machine::ParseResult<Self>> {
__reduce(
self.statements,
self.control,
action,
start_location,
states,
symbols,
core::marker::PhantomData::<()>,
)
}
fn simulate_reduce(&self, action: i8) -> __state_machine::SimulatedReduce<Self> {
__simulate_reduce(action, core::marker::PhantomData::<()>)
}
}
fn __token_to_integer<
>(
__token: &Tok,
_: core::marker::PhantomData<()>,
) -> Option<usize>
{
#[warn(unused_variables)]
match __token {
Tok::KwGraph if true => Some(0),
Tok::KwFlowchart if true => Some(1),
Tok::KwFlowchartElk if true => Some(2),
Tok::KwSwimlane if true => Some(3),
Tok::KwSubgraph if true => Some(4),
Tok::KwEnd if true => Some(5),
Tok::Sep if true => Some(6),
Tok::Amp if true => Some(7),
Tok::StyleSep if true => Some(8),
Tok::Direction(_) if true => Some(9),
Tok::DirectionStmt(_) if true => Some(10),
Tok::Id(_) if true => Some(11),
Tok::NodeLabel(_) if true => Some(12),
Tok::Arrow(_) if true => Some(13),
Tok::EdgeLabel(_) if true => Some(14),
Tok::SubgraphHeader(_) if true => Some(15),
Tok::StyleStmt(_) if true => Some(16),
Tok::ClassDefStmt(_) if true => Some(17),
Tok::ClassAssignStmt(_) if true => Some(18),
Tok::ClickStmt(_) if true => Some(19),
Tok::LinkStyleStmt(_) if true => Some(20),
Tok::EdgeId(_) if true => Some(21),
Tok::ShapeData(_) if true => Some(22),
_ => None,
}
}
fn __token_to_symbol<
>(
__token_index: usize,
__token: Tok,
_: core::marker::PhantomData<()>,
) -> __Symbol<>
{
#[allow(clippy::manual_range_patterns)]match __token_index {
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 => __Symbol::Variant0(__token),
9 | 11 | 21 | 22 => match __token {
Tok::Direction(__tok0) | Tok::Id(__tok0) | Tok::EdgeId(__tok0) | Tok::ShapeData(__tok0) if true => __Symbol::Variant1(__tok0),
_ => unreachable!(),
},
10 => match __token {
Tok::DirectionStmt(__tok0) if true => __Symbol::Variant2(__tok0),
_ => unreachable!(),
},
12 => match __token {
Tok::NodeLabel(__tok0) if true => __Symbol::Variant3(__tok0),
_ => unreachable!(),
},
13 => match __token {
Tok::Arrow(__tok0) if true => __Symbol::Variant4(__tok0),
_ => unreachable!(),
},
14 => match __token {
Tok::EdgeLabel(__tok0) if true => __Symbol::Variant5(__tok0),
_ => unreachable!(),
},
15 => match __token {
Tok::SubgraphHeader(__tok0) if true => __Symbol::Variant6(__tok0),
_ => unreachable!(),
},
16 => match __token {
Tok::StyleStmt(__tok0) if true => __Symbol::Variant7(__tok0),
_ => unreachable!(),
},
17 => match __token {
Tok::ClassDefStmt(__tok0) if true => __Symbol::Variant8(__tok0),
_ => unreachable!(),
},
18 => match __token {
Tok::ClassAssignStmt(__tok0) if true => __Symbol::Variant9(__tok0),
_ => unreachable!(),
},
19 => match __token {
Tok::ClickStmt(__tok0) if true => __Symbol::Variant10(__tok0),
_ => unreachable!(),
},
20 => match __token {
Tok::LinkStyleStmt(__tok0) if true => __Symbol::Variant11(__tok0),
_ => unreachable!(),
},
_ => unreachable!(),
}
}
fn __simulate_reduce<
'__0,
'__1,
>(
__reduce_index: i8,
_: core::marker::PhantomData<()>,
) -> __state_machine::SimulatedReduce<__StateMachine<'__0, '__1>>
{
match __reduce_index {
0 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 0,
}
}
1 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 1,
}
}
2 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 2,
}
}
3 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 3,
}
}
4 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 3,
}
}
5 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 4,
}
}
6 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 4,
}
}
7 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 5,
}
}
8 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 5,
}
}
9 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 6,
}
}
10 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 6,
}
}
11 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 4,
nonterminal_produced: 7,
}
}
12 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 3,
nonterminal_produced: 7,
}
}
13 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 3,
nonterminal_produced: 7,
}
}
14 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 7,
}
}
15 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 8,
}
}
16 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 8,
}
}
17 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 4,
nonterminal_produced: 9,
}
}
18 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 10,
}
}
19 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 10,
}
}
20 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 10,
}
}
21 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 10,
}
}
22 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 10,
}
}
23 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 10,
}
}
24 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 10,
}
}
25 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 10,
}
}
26 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 11,
}
}
27 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 11,
}
}
28 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 12,
}
}
29 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 13,
}
}
30 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 14,
}
}
31 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 14,
}
}
32 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 15,
}
}
33 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 15,
}
}
34 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 4,
nonterminal_produced: 16,
}
}
35 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 3,
nonterminal_produced: 16,
}
}
36 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 16,
}
}
37 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 4,
nonterminal_produced: 17,
}
}
38 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 3,
nonterminal_produced: 17,
}
}
39 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 3,
nonterminal_produced: 17,
}
}
40 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 17,
}
}
41 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 18,
}
}
42 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 18,
}
}
43 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 19,
}
}
44 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 20,
}
}
45 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 20,
}
}
46 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
47 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 21,
}
}
48 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
49 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
50 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
51 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
52 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
53 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
54 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
55 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
56 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 21,
}
}
57 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 4,
nonterminal_produced: 22,
}
}
58 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 22,
}
}
59 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 23,
}
}
60 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 2,
nonterminal_produced: 23,
}
}
61 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 5,
nonterminal_produced: 24,
}
}
62 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 4,
nonterminal_produced: 24,
}
}
63 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 1,
nonterminal_produced: 25,
}
}
64 => {
__state_machine::SimulatedReduce::Reduce {
states_to_pop: 0,
nonterminal_produced: 25,
}
}
65 => __state_machine::SimulatedReduce::Accept,
_ => panic!("invalid reduction index {__reduce_index}")
}
}
pub struct FlowchartAstParser {
_priv: (),
}
impl Default for FlowchartAstParser { fn default() -> Self { Self::new() } }
impl FlowchartAstParser {
pub fn new() -> FlowchartAstParser {
FlowchartAstParser {
_priv: (),
}
}
#[allow(dead_code)]
pub fn parse<
__TOKEN: __ToTriple<>,
__TOKENS: IntoIterator<Item=__TOKEN>,
>(
&self,
statements: &mut StatementArena,
control: &crate::OperationControl,
__tokens0: __TOKENS,
) -> Result<FlowchartAst, __lalrpop_util::ParseError<usize, Tok, crate::diagrams::flowchart::LexError>>
{
let __tokens = __tokens0.into_iter();
let mut __tokens = __tokens.map(|t| __ToTriple::to_triple(t));
__state_machine::Parser::drive(
__StateMachine {
statements,
control,
__phantom: core::marker::PhantomData::<()>,
},
__tokens,
)
}
}
fn __accepts<
'__0,
'__1,
>(
__error_state: Option<i8>,
__states: &[i8],
__opt_integer: Option<usize>,
_: core::marker::PhantomData<()>,
) -> bool
{
let mut __states = __states.to_vec();
__states.extend(__error_state);
loop {
let mut __states_len = __states.len();
let __top = __states[__states_len - 1];
let __action = match __opt_integer {
None => __EOF_ACTION[__top as usize],
Some(__integer) => __action(__top, __integer),
};
if __action == 0 { return false; }
if __action > 0 { return true; }
let (__to_pop, __nt) = match __simulate_reduce(-(__action + 1), core::marker::PhantomData::<()>) {
__state_machine::SimulatedReduce::Reduce {
states_to_pop, nonterminal_produced
} => (states_to_pop, nonterminal_produced),
__state_machine::SimulatedReduce::Accept => return true,
};
__states_len -= __to_pop;
__states.truncate(__states_len);
let __top = __states[__states_len - 1];
let __next_state = __goto(__top, __nt);
__states.push(__next_state);
}
}
fn __reduce<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut alloc::vec::Vec<i8>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> Option<Result<FlowchartAst,__lalrpop_util::ParseError<usize, Tok, crate::diagrams::flowchart::LexError>>>
{
let (__pop_states, __nonterminal) = match __action {
0 => {
__reduce0(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
1 => {
__reduce1(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
2 => {
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant18(__symbols);
let __sym0 = __pop_Variant21(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = match super::__action23::<>(statements, control, __sym0, __sym1) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant13(__nt), __end));
(2, 2)
}
3 => {
__reduce3(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
4 => {
__reduce4(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
5 => {
__reduce5(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
6 => {
__reduce6(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
7 => {
__reduce7(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
8 => {
__reduce8(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
9 => {
__reduce9(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
10 => {
__reduce10(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
11 => {
__reduce11(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
12 => {
__reduce12(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
13 => {
__reduce13(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
14 => {
__reduce14(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
15 => {
__reduce15(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
16 => {
__reduce16(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
17 => {
__reduce17(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
18 => {
__reduce18(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
19 => {
__reduce19(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
20 => {
__reduce20(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
21 => {
__reduce21(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
22 => {
__reduce22(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
23 => {
__reduce23(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
24 => {
__reduce24(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
25 => {
__reduce25(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
26 => {
__reduce26(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
27 => {
__reduce27(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
28 => {
__reduce28(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
29 => {
__reduce29(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
30 => {
__reduce30(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
31 => {
__reduce31(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
32 => {
__reduce32(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
33 => {
__reduce33(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
34 => {
__reduce34(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
35 => {
__reduce35(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
36 => {
__reduce36(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
37 => {
__reduce37(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
38 => {
__reduce38(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
39 => {
__reduce39(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
40 => {
__reduce40(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
41 => {
__reduce41(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
42 => {
__reduce42(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
43 => {
__reduce43(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
44 => {
__reduce44(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
45 => {
__reduce45(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
46 => {
let __sym0 = __pop_Variant13(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action12::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
47 => {
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = match super::__action74::<>(statements, control, __sym0, __sym1) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(2, 21)
}
48 => {
let __sym0 = __pop_Variant21(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action14::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
49 => {
let __sym0 = __pop_Variant22(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action15::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
50 => {
let __sym0 = __pop_Variant27(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action16::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
51 => {
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action17::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
52 => {
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action18::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
53 => {
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action19::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
54 => {
let __sym0 = __pop_Variant9(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action20::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
55 => {
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action21::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
56 => {
let __sym0 = __pop_Variant11(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = match super::__action22::<>(statements, control, __sym0) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant25(__nt), __end));
(1, 21)
}
57 => {
assert!(__symbols.len() >= 4);
let __sym3 = __pop_Variant26(__symbols);
let __sym2 = __pop_Variant25(__symbols);
let __sym1 = __pop_Variant24(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = match super::__action8::<>(statements, control, __sym0, __sym1, __sym2, __sym3) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant26(__nt), __end));
(4, 22)
}
58 => {
__reduce58(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
59 => {
__reduce59(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
60 => {
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant26(__symbols);
let __sym0 = __pop_Variant25(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = match super::__action7::<>(statements, control, __sym0, __sym1) {
Ok(v) => v,
Err(e) => return Some(Err(e)),
};
__symbols.push((__start, __Symbol::Variant26(__nt), __end));
(2, 23)
}
61 => {
__reduce61(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
62 => {
__reduce62(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
63 => {
__reduce63(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
64 => {
__reduce64(statements, control, __lookahead_start, __symbols, core::marker::PhantomData::<()>)
}
65 => {
let __sym0 = __pop_Variant19(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action0::<>(statements, control, __sym0);
return Some(Ok(__nt));
}
_ => panic!("invalid action code {__action}")
};
let __states_len = __states.len();
__states.truncate(__states_len - __pop_states);
let __state = *__states.last().unwrap();
let __next_state = __goto(__state, __nonterminal);
__states.push(__next_state);
None
}
#[inline(never)]
fn __symbol_type_mismatch() -> ! {
panic!("symbol type mismatch")
}
fn __pop_Variant24<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, (), usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant24(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant17<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>), usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant17(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant20<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, (String, Option<String>, SourceSpan), usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant20(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant13<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, (Vec<Vec<Node>>, Vec<Vec<Edge>>), usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant13(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant4<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, ArrowToken, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant4(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant9<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, ClassAssignStmt, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant9(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant8<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, ClassDefStmt, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant8(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant10<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, ClickStmt, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant10(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant2<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, DirectionStatementToken, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant2(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant19<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, FlowchartAst, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant19(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant5<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, LabeledText, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant5(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant11<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, LinkStyleStmt, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant11(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant22<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Node, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant22(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant3<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, NodeLabelToken, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant3(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant16<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Option<LabeledText>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant16(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant15<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Option<String>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant15(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant28<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Option<SubgraphHeader>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant28(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant25<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, StatementId, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant25(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant26<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, StatementList, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant26(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant1<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, String, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant1(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant7<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, StyleStmt, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant7(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant27<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, SubgraphBlock, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant27(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant6<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, SubgraphHeader, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant6(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant0<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Tok, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant0(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant21<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Vec<Node>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant21(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant14<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, Vec<String>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant14(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant18<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, alloc::vec::Vec<(Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant18(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant23<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, alloc::vec::Vec<Node>, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant23(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __pop_Variant12<
>(
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>
) -> (usize, usize, usize)
{
match __symbols.pop() {
Some((__l, __Symbol::Variant12(__v), __r)) => (__l, __v, __r),
_ => __symbol_type_mismatch()
}
}
fn __reduce0<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action54::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant12(__nt), __end));
(0, 0)
}
fn __reduce1<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action51::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant12(__nt), __end));
(0, 1)
}
fn __reduce3<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action35::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant14(__nt), __end));
(2, 3)
}
fn __reduce4<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action36::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant14(__nt), __end));
(0, 3)
}
fn __reduce5<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action52::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant15(__nt), __end));
(1, 4)
}
fn __reduce6<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action53::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant15(__nt), __end));
(0, 4)
}
fn __reduce7<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action45::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant15(__nt), __end));
(1, 5)
}
fn __reduce8<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action46::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant15(__nt), __end));
(0, 5)
}
fn __reduce9<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action43::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant16(__nt), __end));
(1, 6)
}
fn __reduce10<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action44::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant16(__nt), __end));
(0, 6)
}
fn __reduce11<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 4);
let __sym3 = __pop_Variant21(__symbols);
let __sym2 = __pop_Variant5(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action85::<>(statements, control, __sym0, __sym1, __sym2, __sym3);
__symbols.push((__start, __Symbol::Variant17(__nt), __end));
(4, 7)
}
fn __reduce12<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 3);
let __sym2 = __pop_Variant21(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action86::<>(statements, control, __sym0, __sym1, __sym2);
__symbols.push((__start, __Symbol::Variant17(__nt), __end));
(3, 7)
}
fn __reduce13<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 3);
let __sym2 = __pop_Variant21(__symbols);
let __sym1 = __pop_Variant5(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action87::<>(statements, control, __sym0, __sym1, __sym2);
__symbols.push((__start, __Symbol::Variant17(__nt), __end));
(3, 7)
}
fn __reduce14<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant21(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action88::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant17(__nt), __end));
(2, 7)
}
fn __reduce15<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant17(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action49::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant18(__nt), __end));
(1, 8)
}
fn __reduce16<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant17(__symbols);
let __sym0 = __pop_Variant18(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action50::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant18(__nt), __end));
(2, 8)
}
fn __reduce17<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 4);
let __sym3 = __pop_Variant26(__symbols);
let __sym2 = __pop_Variant24(__symbols);
let __sym1 = __pop_Variant20(__symbols);
let __sym0 = __pop_Variant24(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action1::<>(statements, control, __sym0, __sym1, __sym2, __sym3);
__symbols.push((__start, __Symbol::Variant19(__nt), __end));
(4, 9)
}
fn __reduce18<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action75::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(2, 10)
}
fn __reduce19<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action76::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(1, 10)
}
fn __reduce20<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action77::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(2, 10)
}
fn __reduce21<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action78::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(1, 10)
}
fn __reduce22<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action79::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(2, 10)
}
fn __reduce23<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action80::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(1, 10)
}
fn __reduce24<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action81::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(2, 10)
}
fn __reduce25<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action82::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant20(__nt), __end));
(1, 10)
}
fn __reduce26<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant22(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action89::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant21(__nt), __end));
(1, 11)
}
fn __reduce27<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant23(__symbols);
let __sym0 = __pop_Variant22(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action90::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant21(__nt), __end));
(2, 11)
}
fn __reduce28<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant23(__symbols);
let __sym0 = __pop_Variant22(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action28::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant21(__nt), __end));
(2, 12)
}
fn __reduce29<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant22(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action29::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(2, 13)
}
fn __reduce30<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action41::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant23(__nt), __end));
(0, 14)
}
fn __reduce31<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant23(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action42::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant23(__nt), __end));
(1, 14)
}
fn __reduce32<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant22(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action39::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant23(__nt), __end));
(1, 15)
}
fn __reduce33<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant22(__symbols);
let __sym0 = __pop_Variant23(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action40::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant23(__nt), __end));
(2, 15)
}
fn __reduce34<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 4);
let __sym3 = __pop_Variant14(__symbols);
let __sym2 = __pop_Variant1(__symbols);
let __sym1 = __pop_Variant3(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action91::<>(statements, control, __sym0, __sym1, __sym2, __sym3);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(4, 16)
}
fn __reduce35<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 3);
let __sym2 = __pop_Variant14(__symbols);
let __sym1 = __pop_Variant3(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action92::<>(statements, control, __sym0, __sym1, __sym2);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(3, 16)
}
fn __reduce36<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant14(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action70::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(2, 16)
}
fn __reduce37<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 4);
let __sym3 = __pop_Variant14(__symbols);
let __sym2 = __pop_Variant1(__symbols);
let __sym1 = __pop_Variant3(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action93::<>(statements, control, __sym0, __sym1, __sym2, __sym3);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(4, 17)
}
fn __reduce38<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 3);
let __sym2 = __pop_Variant14(__symbols);
let __sym1 = __pop_Variant3(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action94::<>(statements, control, __sym0, __sym1, __sym2);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(3, 17)
}
fn __reduce39<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 3);
let __sym2 = __pop_Variant14(__symbols);
let __sym1 = __pop_Variant1(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action72::<>(statements, control, __sym0, __sym1, __sym2);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(3, 17)
}
fn __reduce40<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant14(__symbols);
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action73::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant22(__nt), __end));
(2, 17)
}
fn __reduce41<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action10::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant24(__nt), __end));
(0, 18)
}
fn __reduce42<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant24(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action11::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant24(__nt), __end));
(2, 18)
}
fn __reduce43<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 2);
let __sym1 = __pop_Variant24(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action24::<>(statements, control, __sym0, __sym1);
__symbols.push((__start, __Symbol::Variant24(__nt), __end));
(2, 19)
}
fn __reduce44<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant1(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action37::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant15(__nt), __end));
(1, 20)
}
fn __reduce45<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action38::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant15(__nt), __end));
(0, 20)
}
fn __reduce58<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant24(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action9::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant26(__nt), __end));
(1, 22)
}
fn __reduce59<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action6::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant26(__nt), __end));
(0, 23)
}
fn __reduce61<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 5);
let __sym4 = __pop_Variant0(__symbols);
let __sym3 = __pop_Variant26(__symbols);
let __sym2 = __pop_Variant24(__symbols);
let __sym1 = __pop_Variant6(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym4.2.clone();
let __nt = super::__action95::<>(statements, control, __sym0, __sym1, __sym2, __sym3, __sym4);
__symbols.push((__start, __Symbol::Variant27(__nt), __end));
(5, 24)
}
fn __reduce62<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
assert!(__symbols.len() >= 4);
let __sym3 = __pop_Variant0(__symbols);
let __sym2 = __pop_Variant26(__symbols);
let __sym1 = __pop_Variant24(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action96::<>(statements, control, __sym0, __sym1, __sym2, __sym3);
__symbols.push((__start, __Symbol::Variant27(__nt), __end));
(4, 24)
}
fn __reduce63<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action47::<>(statements, control, __sym0);
__symbols.push((__start, __Symbol::Variant28(__nt), __end));
(1, 25)
}
fn __reduce64<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookahead_start: Option<&usize>,
__symbols: &mut alloc::vec::Vec<(usize,__Symbol<>,usize)>,
_: core::marker::PhantomData<()>,
) -> (usize, usize)
{
let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2)).unwrap_or_default();
let __end = __start;
let __nt = super::__action48::<>(statements, control, &__start, &__end);
__symbols.push((__start, __Symbol::Variant28(__nt), __end));
(0, 25)
}
}
#[allow(unused_imports)]
pub use self::__parse__FlowchartAst::FlowchartAstParser;
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action0<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, FlowchartAst, usize),
) -> FlowchartAst
{
__0
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action1<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, _lead, _): (usize, (), usize),
(_, h, _): (usize, (String, Option<String>, SourceSpan), usize),
(_, _s, _): (usize, (), usize),
(_, st, _): (usize, StatementList, usize),
) -> FlowchartAst
{
{
let (keyword, direction, header_span) = h;
FlowchartAst { keyword, direction, header_span, statements: std::mem::take(statements), root: st }
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action2<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, _, _): (usize, Tok, usize),
(_, d, _): (usize, Option<String>, usize),
(_, r, _): (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
("graph".to_string(), d, SourceSpan::new(l, r))
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action3<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, _, _): (usize, Tok, usize),
(_, d, _): (usize, Option<String>, usize),
(_, r, _): (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
("flowchart".to_string(), d, SourceSpan::new(l, r))
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action4<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, _, _): (usize, Tok, usize),
(_, d, _): (usize, Option<String>, usize),
(_, r, _): (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
("flowchart-elk".to_string(), d, SourceSpan::new(l, r))
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action5<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, _, _): (usize, Tok, usize),
(_, d, _): (usize, Option<String>, usize),
(_, r, _): (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
("swimlane-beta".to_string(), d, SourceSpan::new(l, r))
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action6<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> StatementList
{
StatementList::default()
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action7<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, s, _): (usize, StatementId, usize),
(_, rest, _): (usize, StatementList, usize),
) -> Result<StatementList,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.prepend(s, rest, control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action8<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, _sep, _): (usize, Tok, usize),
(_, _seps, _): (usize, (), usize),
(_, s, _): (usize, StatementId, usize),
(_, rest, _): (usize, StatementList, usize),
) -> Result<StatementList,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.prepend(s, rest, control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action9<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, (), usize),
) -> StatementList
{
StatementList::default()
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action10<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
)
{
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action11<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, Tok, usize),
(_, __1, _): (usize, (), usize),
)
{
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action12<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, c, _): (usize, (Vec<Vec<Node>>, Vec<Vec<Edge>>), usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Chain { node_groups: c.0, edge_groups: c.1 }, control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action13<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, id, _): (usize, String, usize),
(_, r, _): (usize, usize, usize),
(_, sd, _): (usize, String, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::ShapeData {
target: id,
target_span: Some(SourceSpan::new(l, r)),
yaml: sd,
}, control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action14<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, g, _): (usize, Vec<Node>, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Chain { node_groups: vec![g], edge_groups: Vec::new() }, control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action15<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, n, _): (usize, Node, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Node(Box::new(n)), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action16<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, sg, _): (usize, SubgraphBlock, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Subgraph(sg), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action17<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, d, _): (usize, DirectionStatementToken, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Direction(d.direction), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action18<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, s, _): (usize, StyleStmt, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Style(s), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action19<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, c, _): (usize, ClassDefStmt, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::ClassDef(c), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action20<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, c, _): (usize, ClassAssignStmt, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::ClassAssign(c), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action21<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, c, _): (usize, ClickStmt, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::Click(c), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action22<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, ls, _): (usize, LinkStyleStmt, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
statements.push(Stmt::LinkStyle(ls), control)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action23<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, start, _): (usize, Vec<Node>, usize),
(_, segs, _): (usize, alloc::vec::Vec<(Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)>, usize),
) -> Result<(Vec<Vec<Node>>, Vec<Vec<Edge>>),__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
{
let mut node_groups: Vec<Vec<Node>> = vec![start.clone()];
let mut edge_groups: Vec<Vec<Edge>> = Vec::new();
let mut prev_group = start;
for (eid, link, label, next_group) in segs {
let mut segment_edges: Vec<Edge> = Vec::new();
for from in &prev_group {
for to in &next_group {
statements.construction_checkpoint(control)?;
let is_last_start = from.id == prev_group[prev_group.len() - 1].id;
let is_first_end = to.id == next_group[0].id;
let edge_id = if is_last_start && is_first_end {
eid.clone()
} else {
None
};
let edge_label = label.as_ref().map(|l| l.text.clone());
let label_type = label.as_ref().map(|l| l.kind.clone()).unwrap_or(TitleKind::Text);
let label_span = label.as_ref().and_then(|l| l.span);
let label_selection = label.as_ref().and_then(|l| l.selection);
segment_edges.push(Edge {
from: from.id.clone(),
to: to.id.clone(),
id: edge_id,
link: link.clone(),
label: edge_label,
label_type,
label_span,
label_selection,
style: Vec::new(),
classes: Vec::new(),
interpolate: None,
is_user_defined_id: false,
animate: None,
animation: None,
});
}
}
edge_groups.push(segment_edges);
node_groups.push(next_group.clone());
prev_group = next_group;
}
Ok((node_groups, edge_groups))
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action24<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, Tok, usize),
(_, __1, _): (usize, (), usize),
)
{
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action25<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, _, _): (usize, Tok, usize),
(_, h, _): (usize, Option<SubgraphHeader>, usize),
(_, _s, _): (usize, (), usize),
(_, inner, _): (usize, StatementList, usize),
(_, _, _): (usize, Tok, usize),
) -> SubgraphBlock
{
SubgraphBlock { header: h.unwrap_or_default(), statements: inner }
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action26<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, eid, _): (usize, Option<String>, usize),
(_, a, _): (usize, ArrowToken, usize),
(_, l, _): (usize, Option<LabeledText>, usize),
(_, n, _): (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
(eid, a.link, l, n)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action27<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, first, _): (usize, Node, usize),
(_, rest, _): (usize, alloc::vec::Vec<Node>, usize),
) -> Vec<Node>
{
{
let mut v = vec![first];
v.extend(rest);
v
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action28<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, first, _): (usize, Node, usize),
(_, rest, _): (usize, alloc::vec::Vec<Node>, usize),
) -> Vec<Node>
{
{
let mut v = vec![first];
v.extend(rest);
v
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action29<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, _, _): (usize, Tok, usize),
(_, n, _): (usize, Node, usize),
) -> Node
{
n
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action30<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, id, _): (usize, String, usize),
(_, r, _): (usize, usize, usize),
(_, nl, _): (usize, NodeLabelToken, usize),
(_, sd, _): (usize, Option<String>, usize),
(_, cls, _): (usize, Vec<String>, usize),
) -> Node
{
{
let NodeLabelToken { shape, text, .. } = nl;
let label_span = text.span;
let label_selection = text.selection;
Node {
id_span: Some(SourceSpan::new(l, r)),
id,
provenance: FlowNodeProvenance::Authored,
syntax: FlowNodeSyntax::ExplicitDefinition,
label: Some(text.text),
label_type: text.kind,
label_span,
label_selection,
shape: Some(shape),
shape_data: sd,
icon: None,
form: None,
pos: None,
img: None,
constraint: None,
asset_width: None,
asset_height: None,
styles: Vec::new(),
classes: cls,
link: None,
link_target: None,
have_callback: false,
}
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action31<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, id, _): (usize, String, usize),
(_, r, _): (usize, usize, usize),
(_, cls, _): (usize, Vec<String>, usize),
) -> Node
{
Node {
id_span: Some(SourceSpan::new(l, r)),
id,
provenance: FlowNodeProvenance::Authored,
syntax: if cls.is_empty() {
FlowNodeSyntax::BareReference
} else {
FlowNodeSyntax::ExplicitDefinition
},
label: None,
label_type: TitleKind::Text,
label_span: None,
label_selection: None,
shape: None,
shape_data: None,
icon: None,
form: None,
pos: None,
img: None,
constraint: None,
asset_width: None,
asset_height: None,
styles: Vec::new(),
classes: cls,
link: None,
link_target: None,
have_callback: false,
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action32<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, id, _): (usize, String, usize),
(_, r, _): (usize, usize, usize),
(_, nl, _): (usize, NodeLabelToken, usize),
(_, sd, _): (usize, Option<String>, usize),
(_, cls, _): (usize, Vec<String>, usize),
) -> Node
{
{
let NodeLabelToken { shape, text, .. } = nl;
let label_span = text.span;
let label_selection = text.selection;
Node {
id_span: Some(SourceSpan::new(l, r)),
id,
provenance: FlowNodeProvenance::Authored,
syntax: FlowNodeSyntax::ExplicitDefinition,
label: Some(text.text),
label_type: text.kind,
label_span,
label_selection,
shape: Some(shape),
shape_data: sd,
icon: None,
form: None,
pos: None,
img: None,
constraint: None,
asset_width: None,
asset_height: None,
styles: Vec::new(),
classes: cls,
link: None,
link_target: None,
have_callback: false,
}
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action33<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, id, _): (usize, String, usize),
(_, r, _): (usize, usize, usize),
(_, sd, _): (usize, String, usize),
(_, cls, _): (usize, Vec<String>, usize),
) -> Node
{
Node {
id_span: Some(SourceSpan::new(l, r)),
id,
provenance: FlowNodeProvenance::Authored,
syntax: FlowNodeSyntax::ExplicitDefinition,
label: None,
label_type: TitleKind::Text,
label_span: None,
label_selection: None,
shape: None,
shape_data: Some(sd),
icon: None,
form: None,
pos: None,
img: None,
constraint: None,
asset_width: None,
asset_height: None,
styles: Vec::new(),
classes: cls,
link: None,
link_target: None,
have_callback: false,
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action34<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, l, _): (usize, usize, usize),
(_, id, _): (usize, String, usize),
(_, r, _): (usize, usize, usize),
(_, cls, _): (usize, Vec<String>, usize),
) -> Node
{
Node {
id_span: Some(SourceSpan::new(l, r)),
id,
provenance: FlowNodeProvenance::Authored,
syntax: if cls.is_empty() {
FlowNodeSyntax::BareReference
} else {
FlowNodeSyntax::ExplicitDefinition
},
label: None,
label_type: TitleKind::Text,
label_span: None,
label_selection: None,
shape: None,
shape_data: None,
icon: None,
form: None,
pos: None,
img: None,
constraint: None,
asset_width: None,
asset_height: None,
styles: Vec::new(),
classes: cls,
link: None,
link_target: None,
have_callback: false,
}
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action35<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, _, _): (usize, Tok, usize),
(_, c, _): (usize, String, usize),
) -> Vec<String>
{
vec![c]
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action36<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> Vec<String>
{
Vec::new()
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action37<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, String, usize),
) -> Option<String>
{
Some(__0)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action38<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> Option<String>
{
None
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action39<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, Node, usize),
) -> alloc::vec::Vec<Node>
{
alloc::vec![__0]
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action40<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, v, _): (usize, alloc::vec::Vec<Node>, usize),
(_, e, _): (usize, Node, usize),
) -> alloc::vec::Vec<Node>
{
{ let mut v = v; v.push(e); v }
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action41<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> alloc::vec::Vec<Node>
{
alloc::vec![]
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action42<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, v, _): (usize, alloc::vec::Vec<Node>, usize),
) -> alloc::vec::Vec<Node>
{
v
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action43<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, LabeledText, usize),
) -> Option<LabeledText>
{
Some(__0)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action44<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> Option<LabeledText>
{
None
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action45<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, String, usize),
) -> Option<String>
{
Some(__0)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action46<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> Option<String>
{
None
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action47<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, SubgraphHeader, usize),
) -> Option<SubgraphHeader>
{
Some(__0)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action48<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> Option<SubgraphHeader>
{
None
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action49<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>), usize),
) -> alloc::vec::Vec<(Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)>
{
alloc::vec![__0]
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action50<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, v, _): (usize, alloc::vec::Vec<(Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)>, usize),
(_, e, _): (usize, (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>), usize),
) -> alloc::vec::Vec<(Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)>
{
{ let mut v = v; v.push(e); v }
}
#[allow(unused_variables)]
#[allow(clippy::needless_lifetimes)]
fn __action51<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> usize
{
*__lookbehind
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action52<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
(_, __0, _): (usize, String, usize),
) -> Option<String>
{
Some(__0)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes, clippy::just_underscores_and_digits)]
fn __action53<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> Option<String>
{
None
}
#[allow(unused_variables)]
#[allow(clippy::needless_lifetimes)]
fn __action54<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__lookbehind: &usize,
__lookahead: &usize,
) -> usize
{
*__lookahead
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action55<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
__2: (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action2(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action56<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
__2: (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action3(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action57<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
__2: (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action4(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action58<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
__2: (usize, usize, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action5(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action59<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, usize, usize),
__2: (usize, NodeLabelToken, usize),
__3: (usize, Option<String>, usize),
__4: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action30(
statements,
control,
__temp0,
__0,
__1,
__2,
__3,
__4,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action60<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, usize, usize),
__2: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action31(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action61<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, usize, usize),
__2: (usize, NodeLabelToken, usize),
__3: (usize, Option<String>, usize),
__4: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action32(
statements,
control,
__temp0,
__0,
__1,
__2,
__3,
__4,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action62<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, usize, usize),
__2: (usize, String, usize),
__3: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action33(
statements,
control,
__temp0,
__0,
__1,
__2,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action63<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, usize, usize),
__2: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action34(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action64<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, usize, usize),
__2: (usize, String, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action54(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action13(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action65<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.2;
let __end0 = __1.2;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action55(
statements,
control,
__0,
__1,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action66<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.2;
let __end0 = __1.2;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action56(
statements,
control,
__0,
__1,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action67<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.2;
let __end0 = __1.2;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action57(
statements,
control,
__0,
__1,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action68<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, Option<String>, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.2;
let __end0 = __1.2;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action58(
statements,
control,
__0,
__1,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action69<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, NodeLabelToken, usize),
__2: (usize, Option<String>, usize),
__3: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action59(
statements,
control,
__0,
__temp0,
__1,
__2,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action70<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action60(
statements,
control,
__0,
__temp0,
__1,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action71<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, NodeLabelToken, usize),
__2: (usize, Option<String>, usize),
__3: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action61(
statements,
control,
__0,
__temp0,
__1,
__2,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action72<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, String, usize),
__2: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action62(
statements,
control,
__0,
__temp0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action73<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action63(
statements,
control,
__0,
__temp0,
__1,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action74<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, String, usize),
) -> Result<StatementId,__lalrpop_util::ParseError<usize,Tok,crate::diagrams::flowchart::LexError>>
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action51(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action64(
statements,
control,
__0,
__temp0,
__1,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action75<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, String, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action52(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action65(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action76<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.2;
let __end0 = __0.2;
let __temp0 = __action53(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action65(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action77<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, String, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action52(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action66(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action78<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.2;
let __end0 = __0.2;
let __temp0 = __action53(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action66(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action79<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, String, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action52(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action67(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action80<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.2;
let __end0 = __0.2;
let __temp0 = __action53(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action67(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action81<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, String, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action52(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action68(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action82<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
) -> (String, Option<String>, SourceSpan)
{
let __start0 = __0.2;
let __end0 = __0.2;
let __temp0 = __action53(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action68(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action83<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, ArrowToken, usize),
__2: (usize, Option<LabeledText>, usize),
__3: (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
let __start0 = __0.0;
let __end0 = __0.2;
let __temp0 = __action45(
statements,
control,
__0,
);
let __temp0 = (__start0, __temp0, __end0);
__action26(
statements,
control,
__temp0,
__1,
__2,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action84<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, ArrowToken, usize),
__1: (usize, Option<LabeledText>, usize),
__2: (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
let __start0 = __0.0;
let __end0 = __0.0;
let __temp0 = __action46(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action26(
statements,
control,
__temp0,
__0,
__1,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action85<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, ArrowToken, usize),
__2: (usize, LabeledText, usize),
__3: (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
let __start0 = __2.0;
let __end0 = __2.2;
let __temp0 = __action43(
statements,
control,
__2,
);
let __temp0 = (__start0, __temp0, __end0);
__action83(
statements,
control,
__0,
__1,
__temp0,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action86<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, ArrowToken, usize),
__2: (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
let __start0 = __1.2;
let __end0 = __2.0;
let __temp0 = __action44(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action83(
statements,
control,
__0,
__1,
__temp0,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action87<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, ArrowToken, usize),
__1: (usize, LabeledText, usize),
__2: (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action43(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action84(
statements,
control,
__0,
__temp0,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action88<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, ArrowToken, usize),
__1: (usize, Vec<Node>, usize),
) -> (Option<String>, LinkToken, Option<LabeledText>, Vec<Node>)
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action44(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action84(
statements,
control,
__0,
__temp0,
__1,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action89<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Node, usize),
) -> Vec<Node>
{
let __start0 = __0.2;
let __end0 = __0.2;
let __temp0 = __action41(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action27(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action90<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Node, usize),
__1: (usize, alloc::vec::Vec<Node>, usize),
) -> Vec<Node>
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action42(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action27(
statements,
control,
__0,
__temp0,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action91<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, NodeLabelToken, usize),
__2: (usize, String, usize),
__3: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __2.0;
let __end0 = __2.2;
let __temp0 = __action37(
statements,
control,
__2,
);
let __temp0 = (__start0, __temp0, __end0);
__action69(
statements,
control,
__0,
__1,
__temp0,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action92<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, NodeLabelToken, usize),
__2: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __1.2;
let __end0 = __2.0;
let __temp0 = __action38(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action69(
statements,
control,
__0,
__1,
__temp0,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action93<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, NodeLabelToken, usize),
__2: (usize, String, usize),
__3: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __2.0;
let __end0 = __2.2;
let __temp0 = __action37(
statements,
control,
__2,
);
let __temp0 = (__start0, __temp0, __end0);
__action71(
statements,
control,
__0,
__1,
__temp0,
__3,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action94<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, String, usize),
__1: (usize, NodeLabelToken, usize),
__2: (usize, Vec<String>, usize),
) -> Node
{
let __start0 = __1.2;
let __end0 = __2.0;
let __temp0 = __action38(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action71(
statements,
control,
__0,
__1,
__temp0,
__2,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action95<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, SubgraphHeader, usize),
__2: (usize, (), usize),
__3: (usize, StatementList, usize),
__4: (usize, Tok, usize),
) -> SubgraphBlock
{
let __start0 = __1.0;
let __end0 = __1.2;
let __temp0 = __action47(
statements,
control,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action25(
statements,
control,
__0,
__temp0,
__2,
__3,
__4,
)
}
#[allow(unused_variables)]
#[allow(clippy::too_many_arguments, clippy::needless_lifetimes,
clippy::just_underscores_and_digits)]
fn __action96<
>(
statements: &mut StatementArena,
control: &crate::OperationControl,
__0: (usize, Tok, usize),
__1: (usize, (), usize),
__2: (usize, StatementList, usize),
__3: (usize, Tok, usize),
) -> SubgraphBlock
{
let __start0 = __0.2;
let __end0 = __1.0;
let __temp0 = __action48(
statements,
control,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action25(
statements,
control,
__0,
__temp0,
__1,
__2,
__3,
)
}
#[allow(clippy::type_complexity, dead_code)]
pub trait __ToTriple<>
{
fn to_triple(self) -> Result<(usize,Tok,usize), __lalrpop_util::ParseError<usize, Tok, crate::diagrams::flowchart::LexError>>;
}
impl<> __ToTriple<> for (usize, Tok, usize)
{
fn to_triple(self) -> Result<(usize,Tok,usize), __lalrpop_util::ParseError<usize, Tok, crate::diagrams::flowchart::LexError>> {
Ok(self)
}
}
impl<> __ToTriple<> for Result<(usize, Tok, usize), crate::diagrams::flowchart::LexError>
{
fn to_triple(self) -> Result<(usize,Tok,usize), __lalrpop_util::ParseError<usize, Tok, crate::diagrams::flowchart::LexError>> {
self.map_err(|error| __lalrpop_util::ParseError::User { error })
}
}