ЙажаСценарий / Говнокод #27498 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
class c1 {
    pin: number;

    hello() {
	this.#hello();
    }

    #hello() {
        print("Hello World", this.pin);
	this.pin = 20;
    }
}

function main() {
    const c = new c1();
    c.pin = 10;
    c.hello();
    print("Hello World", c.pin);
    delete c;

    print("done.");
}

Хорошие говно-новости по говно-помпилятору. Начал имплементировать классы. (когда меня это зае...т я еще не знаю, но чую что скоро)

Запостил: ASD_77 ASD_77, (Updated )

Комментарии (20) RSS

  • а вот тут можно глянуть дамп на LLVM MLIR для более удобного чтения "псевдо-инструкций языка". выглядит прикольно https://pastebin.com/xfRYeKPP
    Ответить
  • и как же я за результат работы забыл:

    C:\temp>tsc.exe --emit=jit 1.ts 
    Hello World 10.000000
    Hello World 20.000000
    done.
    Ответить
  • > delete c

    Какой хардкор )))

    Я нядеюсь это только переменную из текущего скопа удаляет, а не как в сишке?
    Ответить
    • нет. это чистейший С. здесь delete это удалить выделенную помять. Специально так сделал. поддержка GC планируется, потом используя Boehm garbage collector
      Ответить
        • ну да. а вообще я предвидел холивар между GC-пацанами и тру-хацкерами-маллок-аллокаторами. Поэтому подумал, что сделаю я два варианта а там пусть сами думают, что юзать
          Ответить
  • Не ты ли говорил, что звёздочки перед именами методов – это сасно (плохо)? И поэтому перед именем метода стоит решёточка?
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8