Size: a a a

Compiler Development

2021 July 01

ВМ

Виталий Медоваров... in Compiler Development
C++ не получится распарсить простым генератором парсеров
источник

ВМ

Виталий Медоваров... in Compiler Development
как минимум нужно повторить все те стадии которые делает настоящий компилятор
источник

ВМ

Виталий Медоваров... in Compiler Development
склеить строки, раскрыть макросы
источник

D

Danya in Compiler Development
В gcc до ~2008 был синтаксический анализ на бизоне
источник

MO

Mar Ort in Compiler Development
Это вроде не относится к парсеру
источник

D

Danya in Compiler Development
Это лексический анализ же
источник

MO

Mar Ort in Compiler Development
препроцессор это вообще стендалоне тула по идее
источник

ВМ

Виталий Медоваров... in Compiler Development
Не думаю что ANTLR осилит такой лексический анализ
источник

VS

Victor Shamparov in Compiler Development
Раскрытие макросов C++ - это не лексический анализ, а препроцессор.
источник

LA

Liber Azerate in Compiler Development
А согласно стандарту часть лексического анализа
источник

ВМ

Виталий Медоваров... in Compiler Development
Тем не менее препроцессор нужен, и кстати там дальше с темплейтами тоже весело
источник

D

Danya in Compiler Development
Препроцессор — часть лексического анализа
источник

ВМ

Виталий Медоваров... in Compiler Development
источник

D

Danya in Compiler Development
Как утверждает Константин Владимиров, в clang вообще настоящий лексер называется Preprocessor — https://github.com/llvm/llvm-project/blob/0af9b25affc9187bc8314bc3999a0ef8b16b522a/clang/include/clang/Parse/Parser.h#L69
Парсер содержит ссылку на препроцессор, который выбирает какой из двух лексеров выбирать — препроцессора или С++ — ведь в С++ два вида лексем
источник

ВМ

Виталий Медоваров... in Compiler Development
Если антлр справится со всеми шестью фазами такого "лексического анализа", я соглашусь что это возможно сделать
источник

B

Brenoritvrezorkre in Compiler Development
Переслано от Brenoritvrezorkre
А кто-нибудь серьёзно изучал языки программирования с точки зрения дескриптивной сложности / выразительности математическими методами?
источник

D

Danya in Compiler Development
Чем вам бизон в старом gcc не устраивает?
источник

ВМ

Виталий Медоваров... in Compiler Development
бизон позволяет написать такой лексер вручную
источник

D

Danya in Compiler Development
Никто этим сейчас не будет заниматься, потому что костыль на костыле и по производительности рекурсивный спуск быстрее
источник

D

Danya in Compiler Development
Причем здесь лексер вообще? Был разговор про парсинг С++ генератором парсеров
источник