Pull to refresh

Comments 14

к сожалению в далёкие времена 2019 года раст не давал открыть файл на моей любимой манжаре

Что не так с манжаро?

У вас в универе не было как я понимаю курса "теории компиляторов"?

Ну там хотябы такие понятия как лексический анализ, синтаксический анализ, грамматики, графы переходов и т.д. при написании языков это по-моему must have.

Кстати, у нас была курсовая работа — придумать собственный язык программирования и написать его интерпретатор. Это общепринятая практика? Или в более продвинутых ВУЗах сразу свои компиляторы пишут?

Мы в 2007 писали свой интерпретатор паскаля

Мы в колледже систем информатики писали интерпретатор графического языка (рисовалка линий, и других фигур) на первом курсе (10 класс школы) и даже там нам уже давали собственно базовые теоритичкские понятия лексического, семантического разбора и прочее. А в универе не помню на каком курсе был отдельный курс, вроде бы назывался "теория компиляторов", там более продвинутые техники давались и готовые инструменты юзались типа yacc, Bison и тд

Мы в колледже систем информатики писали интерпретатор графического языка (рисовалка линий, и других фигур)

AutoLISP? ;-) Просто я в своё время "пошёл не на ту специальность" в институт, и на третьем курсе "рисовал" рядный редуктор "в автокаде" на автолиспе. Из профитов — заменой нескольких переменных, итоговое изображение превращалось в другой вариант курсача (для однокурсника); из багов — ошибка, допущенная в содержательной части (забыл изобразить упорную втулку) попала и на чертёж однокурсника...

AutoLISP?

Да нее, какой там. так… детский язычок аля «черепашка» :)
Тоже такой курсач с интерпретатором был, а вот с компилятором к сожалению не было :(
Это был колледж. Мы проходили всё поверхностно и единственное на что был упор — 1С
В таком случае я рекомендую сначало изучить теоретические основы разработки интерпритаторов и компиляторов. Чтобы не изобретать велосипед и не наступать на сотни граблей… Вот тут собраны материалы по теме: habr.com/ru/post/170735

Неплохой язык, но все таки он будет чертовски медленным учитывая, что мат. операции выполняются через eval. Лучше бы порекомендовал написать лексер, составитель абстрактно-синтаксического дерева, и потом просто его выполнять. Да, это требует больше базового кода и понимая работы рекурсии, но если планируете развивать язык, то в последствии это очень сильно упростит его разработку.

Да, спасибо, учту при дальнейшей разработке :)
Sign up to leave a comment.

Articles