Какова цель JAVA_UNICODE_ESCAPE в JavaCC?

Какова цель JAVA_UNICODE_ESCAPE в JavaCC, я посмотрел на документацию, и она объясняет это очень смутно.

1 ответ

Решение

Вот что говорится в документации:

JAVA_UNICODE_ESCAPE: это логическая опция, значение по умолчанию - false. При значении true сгенерированный синтаксический анализатор использует объект входного потока, который обрабатывает экранирование Java Unicode (\u...) перед отправкой символов в менеджер токенов. По умолчанию экранирование Java Unicode не обрабатывается.

Что это значит?

Экранирование Java Unicode - это последовательность, начинающаяся с \u и затем 4 шестнадцатеричных цифры. В обычной Java такая последовательность преобразуется в кодовый блок UTF-16. Этот перевод происходит до токенизации, как описано в JLS 3.3. (И, как объясняет JLS, кодовые точки Unicode, которые не входят в базовый код, должны быть представлены в виде двух escape-последовательностей, представляющих суррогатную пару UTF-16 для кодовой точки Unicode.)

Итак JAVA_UNICODE_ESCAPE option в основном сообщает JavaCC, должен ли сгенерированный лексер / парсер выполнять обработку экранирования Unicode так же, как это делает компилятор Java. По умолчанию не обрабатывается \uxxxx escape последовательности

Другие вопросы по тегам