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

Pzz>>Нет, в твоем примере компилятор видит умножение, найдя известную ему к этому моменту переменную name.


VVV>Блин действительно ... А как тогда он проверяет облости видимости переменных ? ведь дерево ещё не построено ...


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

У тебя ещё много открытий впереди C ещё относительно прост в этом смысле.
C++ — вот как насчёт такого (вторая часть комментария)?

Пока класс целиком не распарсен, нельзя делать предположения о смысле некоторых грамматических конструкций внутри его определения. А после ещё чудесатее:

До этапа кодогенерации ещё дожить надо — а вы пока не рассказали, как вы AST строить собрались, если для синтаксического разбора нужно уметь решать уравнения на эллиптических кривых — причём со входными данными, приходящими от целевой платформы.

Не забудьте, что там вместо банального sizeof может стоять вызов любой constexpr функции, а дальнейшее дерево зависит от результата вычислений оной функции.


Мнэээ, гражданин... не советую. Съедят.
После такого — всех калёной метлой гнать в сторону LISP. Ну ладно, Go или Pascal.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.