Re[7]: подскажите как парсят мнемоники С
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 13.10.22 05:44
Оценка: 3 (1)
Здравствуйте, VVVa, Вы писали:

N>>Так и проверяет. Появилось объявление переменной — добавили. Типа — добавили. Видим идентификатор — пытаемся по тому, в какой он таблице, определить его роль.

N>>Закончился блок — почистили таблицы и пошли дальше.

VVV>Еле догнал если токен "int x;" свернулся парсером то заводим переменную и помечаем где она стоит... А потом если есть свёртка с элементом "int x;" то удаляем


а, где-то так.

VVV>а какие открытия может подскажите? именно для С


В C, наверно, самое путаное это логика препроцессора — все эти когда что раскрывается и с чем объединяется. После этого — лукап по таблицам, это переменная, тип или что-то другое, как тут описывали.

Но я не вижу глубинного смысла ограничиваться C.

VVV>"на эллиптических кривых" — Вы пошутили? причём тут криптография?


1. Не я, а автор комментария на хабре.
2. Не пошутил. Язык шаблонов C++ тьюринг-полный и в нём можно задать какие угодно работы, причём часть обработки идёт косвенно (по сути, компилятор решает заданное в виде уравнений).
Другой вопрос, что компилятор, скорее всего, имеет жёсткие ограничения на размер этой работы.

VVV>Ну я AST на списках наверное буду делать ... но как его обходить покуда не знаю ... может Матрицу смежности или Матрицу инцидентности придётся применять...


Почему на списках?

N>>Мнэээ, гражданин... не советую. Съедят.

VVV>А вдруг весело будет ...

"Странные праздники... Знобит меня от этого веселья." (c)
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.