Bison — как реализовать ООП?

Допустим хотите создать свой язык программирование. Не для того что бы дать миру еще один из миллионы языков, а для себя. Так скажем для саморазвитие. Такими инструментом как Bison это не так уж сложно. Вот только не понимаю как реализовать классы/объекты...

Буду рад любой информации
  • Вопрос задан
  • 2674 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Все что сделает для вас Bison это упростит разрбор грамматики, позволит сформировать синтаксическое дерево. И только.

Грубо говоря, ООП это все то же старое доброе процедурное программирование. То есть, у вас есть структура данных и методы для этой структуры. То есть метод объекта это просто функция для которой можно задать контекст. Можно организовывать виртуальные таблицы для наследования и кучу всего еще. Это уже вам в зависимости от языка надо думать и от его поведения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
В первых инкарнациях С++ объект хранился в struct структуре, наследование ссылкой на структуру шаблона, а методы ссылками на функции в полях структуры. Позже появились виртуальные таблицы позволяющие сложные манипуляции как на этапе компиляции так и времени исполнения.
Ответ написан
Комментировать
@dponyatov
Советую начать вот с этой книги, разобраться как внутри работают динамические языки.
А потом уже двигаться в сторону динамической или статической компиляции, или transformational programming.

cs.brown.edu/courses/cs173/2012/book/book.pdf
Shriram Krishnamurthi
Programming Languages: Application and Interpretation
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы