sv_parser_parser/primitive_instances/
primitive_terminals.rs1use crate::*;
2
3#[tracable_parser]
6#[packrat_parser]
7pub(crate) fn enable_terminal(s: Span) -> IResult<Span, EnableTerminal> {
8 let (s, a) = expression(s)?;
9 Ok((s, EnableTerminal { nodes: (a,) }))
10}
11
12#[tracable_parser]
13#[packrat_parser]
14pub(crate) fn inout_terminal(s: Span) -> IResult<Span, InoutTerminal> {
15 let (s, a) = net_lvalue(s)?;
16 Ok((s, InoutTerminal { nodes: (a,) }))
17}
18
19#[tracable_parser]
20#[packrat_parser]
21pub(crate) fn input_terminal(s: Span) -> IResult<Span, InputTerminal> {
22 let (s, a) = expression(s)?;
23 Ok((s, InputTerminal { nodes: (a,) }))
24}
25
26#[tracable_parser]
27#[packrat_parser]
28pub(crate) fn ncontrol_terminal(s: Span) -> IResult<Span, NcontrolTerminal> {
29 let (s, a) = expression(s)?;
30 Ok((s, NcontrolTerminal { nodes: (a,) }))
31}
32
33#[tracable_parser]
34#[packrat_parser]
35pub(crate) fn output_terminal(s: Span) -> IResult<Span, OutputTerminal> {
36 let (s, a) = net_lvalue(s)?;
37 Ok((s, OutputTerminal { nodes: (a,) }))
38}
39
40#[tracable_parser]
41#[packrat_parser]
42pub(crate) fn pcontrol_terminal(s: Span) -> IResult<Span, PcontrolTerminal> {
43 let (s, a) = expression(s)?;
44 Ok((s, PcontrolTerminal { nodes: (a,) }))
45}