Pull to refresh

Comments 7

Какой ужасный пример.

>> ^name^+~\w*~+^name^+~\([\^name\^\w*\^name\^\w*\,?]*\)\w*~

Как вы лихо всю грамматику декларатора описали таким простым выражением.

Может стоит для поиска по AST C++ использовать подходящие инструменты, например, Clang? www.youtube.com/watch?v=mVbDzTM21BQ
У меня сложилось впечатление, что вы не пытались это реализовать или тем более пользоваться.

У вас масса ключевых слов/фич, которые сложно осознать и запомнить; хуже того — за всем этим не видно никакой логики, которая бы помогла облечить понимание/запоминание.

Вы уж определитесь с решаемой задачей. Если вы хотите императивный язык с регулярными выражениями — так может лучше воспользоваться существующим языком с хорошей поддержкой регекспов, а не придумывать еще один? Хотите заняться оптимизацией (объединение нескольких регекспов в одно и тп)? Так напишите оптимизатор для подмножества языка Scheme с регулярками. S-выражения легко анализировать.

Ну и пример вы выбрали явно неудачный. Парсеры ЯП это большая и интересная тема, вот только проблемы там совсем другие.
Sign up to leave a comment.

Articles