//! Multi-Protocol Label Switching (MPLS, RFC 3032 / RFC 5462) AST definitions.
//!
//! Defines the 32-bit MPLS label stack entry structure used both as a Layer 2.5 shim modifier
//! on IP/transport frames and as a standalone Layer 2 protocol over EtherType `0x8847` (MPLS
//! unicast). Per RFC 3032 ยง2.1, the 4-byte label stack entry packs a 20-bit Label value
//! (bits 0..19), a 3-bit Traffic Class / Experimental field (`TC` / `EXP`, bits 20..22,
//! RFC 5462), a 1-bit Bottom of Stack indicator (`S` / `BOS`, bit 23), and an 8-bit
//! Time To Live field (`TTL`, bits 24..31).
//!
//! Canonical `.fasm` syntax:
//! `a -> b MPLS <label> [EXP <0..7>] [BOS <0|1>] [MPLS_TTL <u8>] [<inner_protocol>...]`
/// RFC 3032 / RFC 5462 32-bit MPLS label stack entry specification.
///
/// Syntax mapping: `MPLS <label> [EXP <0..7>] [BOS <0|1>] [MPLS_TTL <u8>]`