macro_rules! kernel { ( name: $kernel_name:ident, instance: $kernel_instance:ident, main_arguments: ( $($main_arg_name:ident : $main_arg_type:ty),+ $(,)? ), devices: { $($dev_name:ident : $dev_type:ty => ($($dev_create_arg:tt)*) / ($($dev_init_arg:tt)*)),+ $(,)? }, stdout: $stdout_name:expr, scheduler: $scheduler_type:ty => ($($scheduler_args:tt)*), applications: { $($app_name:ident : $app_type:ty => ($($app_create_arg:tt)*)),+ $(,)? } ) => { ... }; }