В Antlr2 было множество параметров грамматики, которые можно было установить ( reference ). Теперь в Antlr3 у нас есть примерно 1/3 от количества опций ( ссылка ).
Итак, у меня есть два вопроса по этому поводу:
- Кто-нибудь знает, почему было выбрано так много вариантов и возвращается ли какой-нибудь из них?
- Имеет ли Antlr3 возможность делать то же, что и Antlr2, даже без всех этих опций?
Если говорить более конкретно по второму вопросу, я хочу иметь возможность сделать несколько вещей. Во-первых, я хочу изменить видимость сгенерированных классов лексера и синтаксического анализатора (то есть опция Antlr2 "classHeaderPrefix").
Во-вторых, я хочу иметь возможность игнорировать любые токены пробелов, найденные в определенных ключевых словах, например, наличие совпадений между "& keyword &" и "& k ey w o rd &" (т. Е. Опция Antlr2 "ignore", я думаю?)
Наконец, я хочу сделать некоторые ключевые слова нечувствительными к регистру (т. Е. Опция Antlr2 "caseSensitive").