Advertisement
Frumkin

Transpiling to C++

Jun 25th, 2021
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.03 KB | None | 0 0
  1. import standard;
  2.  
  3. module color {
  4.     public uint8(0) red;
  5.     public uint8(0) green;
  6.     public uint8(0) blue;
  7.     public uint8(0) alpha;
  8.    
  9.     public construct(red: readonly uint8, green: readonly uint8, blue: readonly uint8, alpha: readonly uint8) {
  10.         [context].red = red;
  11.         [context].green = green;
  12.         [context].blue = blue;
  13.         [context].alpha = alpha;
  14.     }
  15.    
  16.     public getter text toText() {
  17.         pass 'Red: ' + red.toText() + ', Green: ' + green.toText() + ', Blue: ' + blue.toText() + ', Alpha: ' + alpha.toText();
  18.     }
  19. }
  20.  
  21. entry {
  22.     color(200, 192, 98, 255) clr;
  23.     color* ptr = ref clr;
  24.     [ptr].green = 10;
  25.     terminal.log(clr.toText()); // prints "Red: 200, Green: 10, Blue: 98, Alpha: 255".
  26. }
  27.  
  28. ////////////// TO C++ //////////////
  29.  
  30. #include <iostream>
  31.  
  32. class TRANSPILED_color {
  33.     public:
  34.         std::uint8_t TRANSPILED_red = std::uint8_t(0);
  35.         std::uint8_t TRANSPILED_green = std::uint8_t(0);
  36.         std::uint8_t TRANSPILED_blue = std::uint8_t(0);
  37.         std::uint8_t TRANSPILED_alpha = std::uint8_t(0);
  38.        
  39.         TRANSPILED_color(const std::uint8_t TRANSPILED_red, const std::uint8_t TRANSPILED_green, const std::uint8_t TRANSPILED_blue, const std::uint8_t TRANSPILED_alpha) {
  40.             (*this).TRANSPILED_red = TRANSPILED_red;
  41.             (*this).TRANSPILED_blue = TRANSPILED_blue;
  42.             (*this).TRANSPILED_green = TRANSPILED_green;
  43.             (*this).TRANSPILED_alpha = TRANSPILED_alpha;
  44.         }
  45.        
  46.         std::string TRANSPILED_toText() const {
  47.             return "Red: " + std::to_string(TRANSPILED_red) + ", Green: " + std::to_string(TRANSPILED_green) + ", Blue: " + std::to_string(TRANSPILED_blue) + ", Alpha: " + std::to_string(TRANSPILED_alpha);
  48.         }
  49. };
  50.  
  51. int main() {
  52.     TRANSPILED_color TRANSPILED_clr = TRANSPILED_color(200, 192, 98, 255);
  53.     TRANSPILED_color* TRANSPILED_ptr = &TRANSPILED_clr;
  54.     (*TRANSPILED_ptr).TRANSPILED_green = 10;
  55.     std::cout << TRANSPILED_clr.TRANSPILED_toText() << std::endl;
  56.    
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement