Size: a a a

Compiler Development

2020 April 24

AT

Alexander Tchitchigin in Compiler Development
Этот, помнится, статически типизированный.
источник

M

MaxGraey in Compiler Development
Не знаю. Но по синтаксису что то среднее между Rust и Swift
источник

p

polunin.ai in Compiler Development
такое ощущение что они скопировали оформление книги с раста без переделок, вон даже in у них подчеркивается как keyword хотя это аргумент функции
источник

AG

Alex Gryzlov in Compiler Development
скажите спасибо что не вики на гитхабе ;)
источник

PS

Peter Sovietov in Compiler Development
?!
источник

AG

Alex Gryzlov in Compiler Development
я это так, троллю по пятничному :)
источник

PS

Peter Sovietov in Compiler Development
А на канале https://t.me/zerodereference недавно как раз напомнили ссылку на компилятор Lua, реализованный на Lua.

https://github.com/leegao/LuaInLua
источник

PS

Peter Sovietov in Compiler Development
И на github есть следующие слова:

If you're interested in language implementation, you typically see two types of tutorials out there depending on your background.

1. If you're in college, chances are you'll find your local Programming Language department to be filled with OCaml/Haskell enthusiasts pushing for compilers for mini-OCaml/Haskell/Imp. You'll be shown the purple Dragon Book and the way out.

2. If you're on your own, chances are you'll stumble across various tutorials on how to use Lex/Yacc masquerading as "How to write your own compiler!" guides. You'll learn about words, and then you get shown this weird parser language called BNF, and finally you get a grammar for some subset of C. "Parsing is the hardest part of a compiler" they'll tell you, "the rest is trivial and is subsequently left as an exercise for the reader."

Finally, they'll tell you to go out and buy the purple Dragon Book.
I've tried both of these approaches, and neither worked. Obviously, the Dragon Book is to be blamed.
источник

PS

Peter Sovietov in Compiler Development
И это не просто "троллинг", многим полезно будет дочитать readme.md до конца.
источник

AN

Alexander Nasonov in Compiler Development
Peter Sovietov
А на канале https://t.me/zerodereference недавно как раз напомнили ссылку на компилятор Lua, реализованный на Lua.

https://github.com/leegao/LuaInLua
А когда metalua к нам вернётся?
источник

PS

Peter Sovietov in Compiler Development
Alexander Nasonov
А когда metalua к нам вернётся?
А Terra Вам ее не заменяет? :)
источник

AN

Alexander Nasonov in Compiler Development
На Терру, я, если честно, не смотрел.
источник

EM

Evgenii Moiseenko in Compiler Development
Peter Sovietov
И на github есть следующие слова:

If you're interested in language implementation, you typically see two types of tutorials out there depending on your background.

1. If you're in college, chances are you'll find your local Programming Language department to be filled with OCaml/Haskell enthusiasts pushing for compilers for mini-OCaml/Haskell/Imp. You'll be shown the purple Dragon Book and the way out.

2. If you're on your own, chances are you'll stumble across various tutorials on how to use Lex/Yacc masquerading as "How to write your own compiler!" guides. You'll learn about words, and then you get shown this weird parser language called BNF, and finally you get a grammar for some subset of C. "Parsing is the hardest part of a compiler" they'll tell you, "the rest is trivial and is subsequently left as an exercise for the reader."

Finally, they'll tell you to go out and buy the purple Dragon Book.
I've tried both of these approaches, and neither worked. Obviously, the Dragon Book is to be blamed.
лол, а ведь это не так далеко от правды :)
источник

PS

Peter Sovietov in Compiler Development
@alnsn Ну вот. А она гораздо ближе к тематике чата. Посмотреть имеет смысл как раз в смысле практики создания высокопроизводительных DSL.
источник

EM

Evgenii Moiseenko in Compiler Development
Мне вот в последнее время кажется, что на сегодняшний день вся область вокруг компиляторов/языков программирования так разрослась, что одним курсом её уже невозможно даже по верхам покрыть
источник

EM

Evgenii Moiseenko in Compiler Development
Тут вот недавно, например, скидывали анонс курса от Dan Ghica, и многие ругались, что это скорее PL theory, а не курс по компиляторам,
но справедливости ради, человеку который всерьез собирается писать промышленный компилятор не плохо бы знать об операционных семаниках итп
источник

EM

Evgenii Moiseenko in Compiler Development
То есть курс по компиляторам условно можно было бы разбить на следущие темы, каждая из которых по-хорошему должна быть отдельным курсом:
1) Парсинг
2) Статический анализ
3) Кодогенерация и платформоспецифичные оптимизации
4) Реализация рантайма, сборка мусора, управление памятью
5) Виртуальные машины
6) Теория ЯП и теория типов
источник

EM

Evgenii Moiseenko in Compiler Development
если же пытаться делать один курс, то ничего серьезнее реализации mini C или mini Haskell и не стоит ожидать
источник

AN

Alexander Nasonov in Compiler Development
Peter Sovietov
@alnsn Ну вот. А она гораздо ближе к тематике чата. Посмотреть имеет смысл как раз в смысле практики создания высокопроизводительных DSL.
Зашёл на сайт терры. Я там уже был, но в примере мне не понравилось, что там (так же, как в луаджитовском ffi) есть includec("stdio.h"), и огромный llvm.
источник

AG

Alex Gryzlov in Compiler Development
Evgenii Moiseenko
Тут вот недавно, например, скидывали анонс курса от Dan Ghica, и многие ругались, что это скорее PL theory, а не курс по компиляторам,
но справедливости ради, человеку который всерьез собирается писать промышленный компилятор не плохо бы знать об операционных семаниках итп
это не анонс был, а разбор полетов, тот курс уже прочитан
источник