@NFly

Как скормить существующему компилятору новый синтаксис?

Допустим, есть язык с++ или с, есть компилятор для них. Если ничего не менять в структуре языка, но поменять его синтаксис, то как сделать так, чтобы компилятор понимал новое написание? То есть вместо
for ( var i =1; i < 3; I ++)
Писать
for i, 1, 3 do
Что нужно изменить?
Какие книжки почитать по этой теме? Куда смотреть?
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 5
maaGames
@maaGames
Погроммирую программы
синтаксис определяет структуру языка.
Конкретно тут вы предлагаете компилятору самостоятельно вывести тип счётчика цикла (вполне реально в новых стандартах), самостоятельно решить, что сделать сравнение на меньше (в алгоритмах чаще используют != для итераторов) и решить, что увеличение счётчика инкрементом. Т.е. это совсем не другой синтаксис, это совсем другое всё.

Упоротые олимпиадники любят делать макросы вида:
#define FOR( A, B, C ) for( int A = B; B < C; ++A )

НЕ ДЕЛАЙТЕ ТАК!!!
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Куда смотреть?

В исходники компилятора, вестимо. Можете начать, например, здесь.
Ответ написан
@redakoc
Препроцессор - проще всего.
Ответ написан
Комментировать
@beduin01
Вот хорошие сорцы https://github.com/SDC-Developers/SDC
Ответ написан
Комментировать
Если вы интересуетесь не конкретно этим примером, а вообщем, то существуют 2 замечательные книги: SICP и "Книга Дракона".
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы