Guest User

Untitled

a guest
Jul 15th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. macro_rules! bigprint {
  2. ( __end $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  3. compile_error!(concat!("\n", $line1, "\n", $line2, "\n", $line3, "\n", $line4, "\n", $line5));
  4. };
  5. ( __cont (d $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  6. bigprint!( __cont ($($letters)*) | concat!($line1, " OOOO "), concat!($line2, " O O "), concat!($line3, " O O "), concat!($line4, " O O "), concat!($line5, " OOOO "));
  7. };
  8. ( __cont (e $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  9. bigprint!( __cont ($($letters)*) | concat!($line1, " OOOOO "), concat!($line2, " O "), concat!($line3, " OOO "), concat!($line4, " O "), concat!($line5, " OOOOO "));
  10. };
  11. ( __cont (h $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  12. bigprint!( __cont ($($letters)*) | concat!($line1, " O O "), concat!($line2, " O O "), concat!($line3, " OOOOO "), concat!($line4, " O O "), concat!($line5, " O O "));
  13. };
  14. ( __cont (l $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  15. bigprint!( __cont ($($letters)*) | concat!($line1, " O "), concat!($line2, " O "), concat!($line3, " O "), concat!($line4, " O "), concat!($line5, " OOOOO "));
  16. };
  17. ( __cont (o $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  18. bigprint!( __cont ($($letters)*) | concat!($line1, " OOO "), concat!($line2, " O O "), concat!($line3, " O O "), concat!($line4, " O O "), concat!($line5, " OOO "));
  19. };
  20. ( __cont (r $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  21. bigprint!( __cont ($($letters)*) | concat!($line1, " OOOO "), concat!($line2, " O O "), concat!($line3, " OOOO "), concat!($line4, " O O "), concat!($line5, " O O "));
  22. };
  23. ( __cont (w $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  24. bigprint!( __cont ($($letters)*) | concat!($line1, " O O "), concat!($line2, " O O O "), concat!($line3, " O O O "), concat!($line4, " O O O "), concat!($line5, " O O "));
  25. };
  26. ( __cont (_ $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  27. bigprint!( __cont ($($letters)*) | concat!($line1, " "), concat!($line2, " "), concat!($line3, " "), concat!($line4, " "), concat!($line5, " "));
  28. };
  29. ( __cont ($foo:tt $( $letters:tt )*) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  30. compile_error!(concat!("unmatched: ", stringify!($foo)));
  31. };
  32. ( __cont ( ) | $line1:expr, $line2:expr, $line3:expr, $line4:expr, $line5:expr ) => {
  33. bigprint!( __end $line1, $line2, $line3, $line4, $line5);
  34. };
  35. ( $( $letters:tt )* ) => {
  36. bigprint!( __cont ($($letters)*) | "", "", "", "", "");
  37. };
  38. }
  39.  
  40. bigprint!(h e l l o _ w o r l d);
Add Comment
Please, Sign In to add comment