001. Построение компилятора на базе LLVM - Павел Сычев

Поделиться
HTML-код
  • Опубликовано: 1 янв 2025

Комментарии •

  • @cholushkin
    @cholushkin 2 года назад +9

    бедный докладчик, рассказывал с лампой светящей прямо в глаза, как на допросе =)

  • @GraimPvP
    @GraimPvP 5 лет назад +6

    После парсера, код, в оптимизатор LLVM не идёт. Он компилируется в из syntax tree в LLVM IR / что-то другое.

  • @vyorkin
    @vyorkin 7 лет назад +4

    хороший доклад, спасибо

  • @DennisTurbay
    @DennisTurbay 6 лет назад +3

    Спасибо за доклад

  • @dmitryponyatov2158
    @dmitryponyatov2158 9 лет назад +9

    Обратил внимание, что объекты генерируете в парсере. Я пошел немного по другому: генерацию объектов делаю в лексере макросом
    #define TOC(C,X) { yylval.o = new C(yytext); return X; }
    используя для построения тэгированный символьный тип):
    struct sym {
    string tag,val;
    sym(string,string);
    virtual string dump(); // dump object
    virtual string llvm(); // return as llvm assembly
    virtual sym* eval(); // compute (evaluate) object
    };
    struct Sym:sym { Sym(string); };
    struct Int:sym { Int(string); long i; string ser(); string llvm(); };
    struct Hex:sym { Hex(string); };
    struct Bin:sym { Bin(string); };
    struct Num:sym { Num(string); double f; string ser(); };
    struct Str:sym { Str(string); string ser(); };
    extern map env; // global environment for variable storage
    extern void env_init();

    • @dmitryponyatov2158
      @dmitryponyatov2158 9 лет назад

      +Dmitry Ponyatov и использую в парсере юнион
      %defines %union { sym*o; }
      %token SYM NUM STR
      %type expression

    • @dmitryponyatov2158
      @dmitryponyatov2158 9 лет назад

      +Dmitry Ponyatov это немного ускоряет работу синтакс.анализатора, т.к. нет лишних дерганий delete $x

  • @libertariancom
    @libertariancom 2 года назад +2

    Как разобраться без 4 всевышних?

    • @Pavel.Zhigulin
      @Pavel.Zhigulin Год назад +1

      Профильного "всевышнего" у меня нет. Вроде разобрался)

    • @comachine
      @comachine 4 месяца назад

      Зависит от определения слова "как"

  • @daniilkrasnov6138
    @daniilkrasnov6138 5 лет назад +5

    43:24 -Сакрамар

  • @LETSPLAYMMM
    @LETSPLAYMMM 4 года назад +1

    блин он что как пулемет говорит нефига не понятно ,нужно гадать что он дам выстреливает

    • @LETSPLAYMMM
      @LETSPLAYMMM 4 года назад

      @Алек Сневар если так почему только его не понимаю?значит днло не во мне

    • @sublimelolka4669
      @sublimelolka4669 4 года назад +1

      @@LETSPLAYMMM просто он юзает расширения языка

    • @sorrynomorenickname
      @sorrynomorenickname Год назад

      @@sublimelolka4669 расширение "аааа"

  • @ndotlpi5891
    @ndotlpi5891 5 лет назад +2

    стыд какой-то