Size: a a a

Compiler Development

2021 July 01

D

Danya in Compiler Development
Бизон — генератор парсеров
источник

ВМ

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

IK

Ivan Kochurkin in Compiler Development
Не справится - эти фазы нужно реализовывать как отдельные модули. Ну точнее если использовать его как одну из компонент может и можно.
источник

ВМ

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

D

Danya in Compiler Development
Я конечно не шарю, но если антлр не позволяет написать лексер отдельно — это мне кажется проблема антлр
источник

IK

Ivan Kochurkin in Compiler Development
А вот кстати, почему часто юзают флекс, какие у него преимущества по сравнению с ANTLR лексером? Я смотрю вон и в Котлине тоже флекс для лексера используется.
источник

VS

Victor Shamparov in Compiler Development
Я таки проверил стандарт (современный черновик) и там действительно препроцессор в C и C++ считается частью лексического анализа.
Я посчитал описанную в том же драгонбуке ситуацию отдельности препроцессора от фаз анализа компилятора за общее правило и ошибся.
источник

IK

Ivan Kochurkin in Compiler Development
Это как раз позволяет.
источник

ВМ

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

IK

Ivan Kochurkin in Compiler Development
Кстати, парсер тоже можно сделать независимым от лексера, но это обычно не нужно.
источник

B

Brenoritvrezorkre in Compiler Development
Лингвистический и логико-сложностный вариант PLT
источник

AT

Alexander Tchitchigi... in Compiler Development
Вопрос был "взять грамматику C++ и сгенерировать программы". Но кто ж тут вопросы читает? 😉
источник

B

Brenoritvrezorkre in Compiler Development
Например, берём грамматику C++ и определяем строго по грамматике, какого рода конечные математические объекты она способна выразить и какой класс сложности мы будем иметь. Синтаксис, увы, не построен (я имею в виду логический синтаксис), но вот для Simple C построен (CompCert), и мы могли бы уточнить результаты с данными синтаксиса — т.е. не только выразить, но и построить и с какой сложностью к каким группам объектов.
источник

ВМ

Виталий Медоваров... in Compiler Development
Кажется что я действительно плохо читал)
источник

B

Brenoritvrezorkre in Compiler Development
источник

AT

Alexander Tchitchigi... in Compiler Development
Не, я про такое ничего не знаю!.. 😅
источник

B

Brenoritvrezorkre in Compiler Development
Я лично просто не очень знаю, что гуглить
источник

B

Brenoritvrezorkre in Compiler Development
Кажется, такого рода исследования должны быть очень важными
источник

B

Brenoritvrezorkre in Compiler Development
Вместо того, чтобы спекулятивно рассуждать, что могут языки программирования, а что не могут (сами по себе, вне вопросов известных компиляторов / интерпретаторов и экосистемы) — было бы математическое исследование, что могут, а что не могут.
источник

B

Brenoritvrezorkre in Compiler Development
И вопрос во многом бы решился именно этим
источник