Macro fungi_lang::fgi_sort

source ·
macro_rules! fgi_sort {
    { fromast $ast:expr } => { ... };
    { Nm } => { ... };
    { NmSet } => { ... };
    { 1 } => { ... };
    { ($g1:tt x $g2:tt) } => { ... };
    { ($g1:tt x g2:tt x $($more:tt)+) } => { ... };
    { ($g1:tt -> $g2:tt) } => { ... };
    { ($g1:tt -> g2:tt -> $($more:tt)+) } => { ... };
    { ($g1:tt -> $g2:tt) } => { ... };
    { ($g1:tt -> g2:tt -> $($more:tt)+) } => { ... };
    { ($($sort:tt)+) } => { ... };
    { $($any:tt)* } => { ... };
}
Expand description

Parser for Sorts

g ::=
    fromast ast         (inject ast nodes)
    Nm                  (name)
    NmSet               (name set)
    1                   (unit index)
    (g1 x g2 x ...)     (extended product index)
    [g1 -> g2 -> ...]   (extended name term functions)
    {g1 -> g2 -> ...}   (extended index functions)
    (g)                 (parens)