Size: a a a

Compiler Development

2020 July 06

T

Trimsku in Compiler Development
Mikola Summer Duck
Ну даже ллвм это не какая-то магия которая по-волшебству тебе сделает оптимизации.
Ммм... Я это понимаю... Но если JIT- компиляцию можно встроить одной командой в ллвм...
источник

MS

Mikola Summer Duck in Compiler Development
Trimsku
Ммм... Я это понимаю... Но если JIT- компиляцию можно встроить одной командой в ллвм...
...когда обычная уже реализована, да.
источник

AT

Alexander Tchitchigi... in Compiler Development
Trimsku
Ммм... Я это понимаю... Но если JIT- компиляцию можно встроить одной командой в ллвм...
Вас кто-то дизинформировал. 😂
источник

MS

Mikola Summer Duck in Compiler Development
Чтоб делать жит-компиляцию нужно для начала понимать зачем тебе нужна жит-компиляция. Это тоже не какая-то магия которя делает все зашибись.
источник

T

Trimsku in Compiler Development
Alexander Tchitchigin
Если хочется поиграться с синтаксисом и семантикой, то лучше использовать высокоуровневый "конструктор", например, http://www.metaborg.org/en/latest/ или https://docs.racket-lang.org/nanopass/index.html

Если отчаянно хочется делать всё самому, вместо Flex/Bison лучше взять ANTLR или, там, PEG парсер.

Писать компилятор на C++ — себе дороже. Лучше взять функциональный язык: Haskell, OCaml, F#. Ну или Rust хотя бы.
Хмм. Насколько я знаю Racket это  для создания Мелких языков
источник

T

Trimsku in Compiler Development
Я не помню как они называются...
источник

MS

Mikola Summer Duck in Compiler Development
Рекет это язык общего назначения.
источник

MS

Mikola Summer Duck in Compiler Development
Как питон.
источник

MS

Mikola Summer Duck in Compiler Development
Но возможно ты про его макросы.
источник

T

Trimsku in Compiler Development
Mikola Summer Duck
Чтоб делать жит-компиляцию нужно для начала понимать зачем тебе нужна жит-компиляция. Это тоже не какая-то магия которя делает все зашибись.
Я понимаю. Я изучал данную тему 3 месяца. Не меньше
источник

AT

Alexander Tchitchigi... in Compiler Development
Trimsku
Хмм. Насколько я знаю Racket это  для создания Мелких языков
источник

T

Trimsku in Compiler Development
Mikola Summer Duck
Но возможно ты про его макросы.
Я про его макросы
источник

AT

Alexander Tchitchigi... in Compiler Development
Trimsku
Я понимаю. Я изучал данную тему 3 месяца. Не меньше
Вы прикалываетесь, что ли? Вы понимаете, что тут есть люди, которые не то что "изучали тему", а писали компиляторы по 3 года. Подозреваю, есть и такие, которые по 30 лет! 🤦‍♀️
источник

T

Trimsku in Compiler Development
Я читал статью на хабре про Racket
источник

T

Trimsku in Compiler Development
Alexander Tchitchigin
Вы прикалываетесь, что ли? Вы понимаете, что тут есть люди, которые не то что "изучали тему", а писали компиляторы по 3 года. Подозреваю, есть и такие, которые по 30 лет! 🤦‍♀️
Я ответил не вам. Я ответил то что я знаю для чего мне нужна Jit компиляция
источник

M

MaxGraey in Compiler Development
Trimsku Если вы хотите более быстрый питон с scientific уклоном и array programming и LLVM JIT то такое уже есть) Julia называется. но если ради интереса язык пишется как pet project то почему бы и нет? можете попробовать, но только без LLVM. возьмите Cranelift например: https://github.com/bytecodealliance/simplejit-demo
источник

T

Trimsku in Compiler Development
Спасибо
источник

T

Trimsku in Compiler Development
Но я буду использовать LLVM все таки
источник

T

Trimsku in Compiler Development
Под него есть довольно большая серия статей
источник

К

Константин in Compiler Development
И видосики
На канале llvm
источник