RSyntaxTextArea Пользовательский язык JFlex

Я пытаюсь использовать JFlex для добавления пользовательского языка подсветки для RSyntaxTextArea. Однако, когда я набираю символ, я получаю исключение Index Out of Bounds:

http://pastie.org/private/ygjyj4y5nludeu3dn1xug

Это происходит, даже если я использую приведенный здесь пример кода JFlex: https://github.com/bobbylight/RSyntaxTextArea/wiki/Adding-Syntax-Highlighting-for-a-new-Language

Я не уверен, что может быть причиной этого. Может ли кто-нибудь указать мне правильное направление?

1 ответ

Я не совсем уверен, почему это работает, но я, кажется, решил эту проблему, скопировав часть yylex метод из PythonTokenMaker.java в класс Java, созданный JFlex.

В частности, я скопировал и заменил этот раздел кода: http://pastie.org/private/whjzfhbrzwm8qc88t1idq

Это от определения метода до строки с комментарием // store back cached position

Надеюсь, это поможет кому-то застрять в той же проблеме!

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