use TokenStream;
use parse_macro_input;
/// Defines the layout and access rules to a memory-mapped register.
///
/// This macros does not define the memory-mapped register itself.
/// It generates type definitions for its layout and access rules.
/// Use the [`reg`] macro to define memory-mapped registers based on type definitions.
///
/// # Examples
/// ```
/// use regs_macros::*;
///
/// regspec!(CR as u32, bits {
/// EN[31],
/// RYD[24, ro],
/// STAT[16;2],
/// });
/// ```