Какой смысл в Вашем рефакторинге, который не решает задач рефакторинга? Как в анекдоте — зато дёшево ж?
Вы говорите, что терминологический спор Вас не интересует, но, по факту, этот диалог в значительной степени вокруг этого и строится. Типичный парсер для многих языков требует для своей работы анализа объявлений и нет никакого смысла выкидывать эту часть для того, чтобы сделать это потом в отдельном семантическом анализаторе.
Парсер устанавливает связь использования объявления и его декларации. Пожалуйста, не увиливайте от вопроса, прикрываясь невозможностью в случаях, о которых никто не спрашивал
Почему уменьшит?
Tree никак не решает проблему проверки корректности составленной конструкции и следовательно разбор выражения делать всё равно придётся и его нельзя сводить к «дерево уже построено»
Текстовый формат это тоже не более, чем список строк и не более, чем список символов, и что?
Не обязательно выражать БНФ абсолютно точно, но это всё равно будет лучше, чем выражать его так ложно. Можно и расширить БНФ специальный понятием, позволяющим выразить всё как надо.
Почему из-за несогласия с мнением человека люди считают приемлемым использовать механизм, изначально созданный для избавления от токсичности, а не для подавления инакомыслия? И почему нравится этим бравировать?
Подозреваю, что Вы уже нашли на чём, так как теперь работает сносно, а в первый раз ломалось почти на всём
Попробовал, но он ломается даже в зависимости от переводов строк. Толком ничего не могу получить. В лучшем случае выдаёт XML же, но испорченный
И «undexpected» — это ошибка в выводе ошибок :)
Какой смысл в Вашем рефакторинге, который не решает задач рефакторинга? Как в анекдоте — зато дёшево ж?
Вы говорите, что терминологический спор Вас не интересует, но, по факту, этот диалог в значительной степени вокруг этого и строится. Типичный парсер для многих языков требует для своей работы анализа объявлений и нет никакого смысла выкидывать эту часть для того, чтобы сделать это потом в отдельном семантическом анализаторе.
И судя по средней заплюсованности его статей, включая ту, на которую ссылался mwizard — нет, не достал :)
Насколько? У Вас есть полный парсер для SQL-подобного языка, но выраженного через tree?
Tree никак не решает проблему проверки корректности составленной конструкции и следовательно разбор выражения делать всё равно придётся и его нельзя сводить к «дерево уже построено»
type Google = { auth string }a: Google
a.auth = "Bam"
Не обязательно выражать БНФ абсолютно точно, но это всё равно будет лучше, чем выражать его так ложно. Можно и расширить БНФ специальный понятием, позволяющим выразить всё как надо.