prism_parser/grammar/
rule_action.rs

1use crate::grammar::action_result::ActionResult;
2use crate::grammar::escaped_string::EscapedString;
3use crate::grammar::serde_leak::*;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
7pub enum RuleAction<'arn, 'grm> {
8    Name(&'grm str),
9    InputLiteral(EscapedString<'grm>),
10    Construct(&'grm str, #[serde(with = "leak_slice")] &'arn [Self]),
11    #[serde(skip)]
12    ActionResult(&'arn ActionResult<'arn, 'grm>),
13}