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}