LINUX.ORG.RU

Ворос по раскрытию макросов

 


2

5

Допустим, я пишу новый, «более лучший лисп»(ТМ). Хочу реализовать простенькую макросистему. Мой экспандер анализирует исходник, находит макровызовы, раскрывает их, а дальше возникает вопрос. Что если код, в который раскрывается макрос, содержит еще один макровызов? Его нельзя раскрыть на данном этапе, поскольку еще нет разрешения имен. Значит, мне надо заэвалить все, а раскрывать когда? Скорей всего, когда данный вызов потребуется. Заэвалил, запускаю снова экспандер. вроде норм. Но что если результат 2 вызова требуется уже при первом выполнении? Заставлять пользователя явно указывать, в какой фазе раскрывать каждый макрос, или как?

Ответ на: комментарий от terminator-101

Ну, вот... А я уж думал ты готов слушать, что квалифицированные в этой области говорят. Тогда я умываю руки. Я написал 100 и одну реализацию Лиспа на различных схемах - SECD, CPS, фреймы, реификаторы, dynmaic/lexical scope и т.п. Я тут не понтуюсь, а хочу помочь, но раз никто не собирается слушать, то я не на том форуме, очевидно.

komputikisto
()
Ответ на: комментарий от komputikisto

Ты что же, думаешь, что удары кулачечками в грудь с криками Я — это весомый аргумент? LOL.

terminator-101
() автор топика
Ответ на: комментарий от komputikisto

Что ж ты за эгоист такой! Пара сраных регистрантов тебя не дослушала и ты уже руки опускаешь. А как же ридонли анонимусы?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.