Size: a a a

Compiler Development

2020 July 06

MS

Mikola Summer Duck in Compiler Development
Trimsku
Я делаю в целях получить более быстрый ЯП чем python, но с таким более менее лёгким синтаксисом. Он вообще должен быть: ЯОП, ООП, ФП
Посмотри тогда в сторону готовых решений? Например тот же daScript - питоноподобный язык компилирующийся АОТ
источник

T

Trimsku in Compiler Development
Mikola Summer Duck
Посмотри тогда в сторону готовых решений? Например тот же daScript - питоноподобный язык компилирующийся АОТ
Попробую поискать. Но вообще он также и в сторону саморазвития*. И также люблю статическую типизацию...
источник

AT

Alexander Tchitchigi... in Compiler Development
Trimsku
Я делаю в целях получить более быстрый ЯП чем python, но с таким более менее лёгким синтаксисом. Он вообще должен быть: ЯОП, ООП, ФП
JavaScript, Dart, OCaml, F# -- на выбор. Ещё один язык никому не нужен. 🤷‍♀😉
источник

T

Trimsku in Compiler Development
Trimsku
Попробую поискать. Но вообще он также и в сторону саморазвития*. И также люблю статическую типизацию...
*Также да... Он в сторону саморазвития... Но я хочу проверить несколько теорий своих и некоторых других людей
источник

p

polunin.ai in Compiler Development
Trimsku
Если тут есть те кто уже профи... Буду надеяться... Что выбрать?
LLVM или flex/bison?
Первый это компилятор в ассемблер, а вторые это программы для генерации парсеров из их DSLa.
источник

p

polunin.ai in Compiler Development
Alexander Tchitchigin
JavaScript, Dart, OCaml, F# -- на выбор. Ещё один язык никому не нужен. 🤷‍♀😉
Ты что, конечно нужен ещё один универсальный язык!
источник

AG

Alex Gryzlov in Compiler Development
давайте в @languagedev может, там и ЯОП можно обсудить, и отличия бизона от ллвм
источник

T

Trimsku in Compiler Development
polunin.ai
Первый это компилятор в ассемблер, а вторые это программы для генерации парсеров из их DSLa.
Хмм. Спасибо
источник

MS

Mikola Summer Duck in Compiler Development
Alex Gryzlov
давайте в @languagedev может, там и ЯОП можно обсудить, и отличия бизона от ллвм
(так там же наоборот про дизайн языков)
источник

MS

Mikola Summer Duck in Compiler Development
Про тулинг тут, не?
источник

T

Trimsku in Compiler Development
Тут
источник

MS

Mikola Summer Duck in Compiler Development
В любом случае, независимо от дизайна, я бы на твоем месте написал все без отдельных тулок. Тем более сейчас это не так уж сложно.
источник

p

polunin.ai in Compiler Development
Mikola Summer Duck
В любом случае, независимо от дизайна, я бы на твоем месте написал все без отдельных тулок. Тем более сейчас это не так уж сложно.
Я писал парсер 2 месяца, в итоге не дописал и бросил на полгода. Потом взял PEG и за три дня сделал больше чем за 2 месяца ручного писания.
источник

T

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

AT

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

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

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

MS

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

p

polunin.ai 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 хотя бы.
Rust не надо! Я пишу, это ужас. Лучше хаскель.
источник

AT

Alexander Tchitchigi... in Compiler Development
polunin.ai
Rust не надо! Я пишу, это ужас. Лучше хаскель.
Я так и написал же. 😃
источник

MS

Mikola Summer Duck in Compiler Development
От тебя в любом случае требуется понимать что происходит.
источник

AT

Alexander Tchitchigi... in Compiler Development
Trimsku
Так само дело мне нужно оптимизация :/. Я сам думаю не осилю JIT- компиляцию. Но она есть в тулках :/.
Видимо, лучше начать с изучения https://www.cs.princeton.edu/~appel/modern/ml/
источник