|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.03.2017, 18:33 | #11 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Консоль это не язык.
Вот например вполне корректный код C# в консольном проекте. Даже без библиотек, LINQ, дженериков и т.п. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 18.03.2017 в 19:33. |
21.03.2017, 10:59 | #12 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
Прочитал я всякой всячины по поводу деревьев, компиляторов, но в голове одна каша. Может посоветуете какие-нибудь книги, которые могут мне помочь с реализацией?
|
21.03.2017, 11:48 | #13 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
http://stackoverflow.com/a/1672/964478
Когда мне надо было написать компилятор (в JVM байткод) в вузе, то я использовал ANTLR для парсинга и читал по нему Definitive ANTLR Reference + "Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages" (ну вторая наверно и без ANTLR может быть полезна... тем более что в ней все равно используют 3 ANTLR, а не 4, там много отличий) + прочитал несколько глав в Dragon Book, но потом забил на него. Препод рекомендовал Appel A. W. "Modern Compiler Implementation in ML" (есть еще in C, in Java, но вроде они хуже), но я как-то не дошел до нее и не понадобилось. Ну и гуглил что-то, смотрел всякие примеры и немного код реальных компиляторов на гитхабе (Groovy, Jython, Kotlin, ...) Насчет деревьев, если использовать ANTLR, то в актуальной версии он умеет (если без извращений) строить только свое дерево парсинга (вроде CST называется). Предполагается, что для большинства задач этого хватит/не возникнет неудобств, там еще есть listener'ы/visitor'ы для него. Но при желании можно и в свое AST конвертировать, это не сложно, как-то так http://stackoverflow.com/a/29996191/964478 На ютубе еще немного посмотрел это https://www.youtube.com/playlist?lis...fWwBAmJAYV4iUm (немецкий, но в первых ~10 видео есть англ субтитры) Еще недавно на эту тему видел https://www.youtube.com/watch?v=-E2tu3MqR24 может быть поможет какими-то идеями в целом
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 21.03.2017 в 12:01. |
21.03.2017, 16:52 | #14 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
Спасибо большое)
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как создать свой языковый переводчик? | midoxxx | Помощь студентам | 20 | 09.10.2016 16:58 |
Сколько языков программирования в кс 1.6 ? | Pekky | Свободное общение | 19 | 15.06.2015 00:48 |
Теория языков программирования | Tesmont | Помощь студентам | 1 | 03.02.2011 13:40 |
Как компиляторы для языков программирования пишутся на самих себе? | bullvinkle | Свободное общение | 29 | 19.03.2010 15:47 |
совмещение 2-х языков программирования | fis | Общие вопросы Delphi | 5 | 30.01.2007 20:13 |