Я довольно новичок в JFlex и JSyntaxPane, хотя мне удалось взломать lexer for XPath.Возможно ли наследование в JFlex?
Проблема, в которой я нахожусь, заключается в том, что я работаю над проектом, который поддерживает подмножество XPath с несколькими проприетарными функциями. Я против.
Если бы это была обычная проблема Java, я бы обратился к наследованию, но не представляется возможным достичь наследования, если один lexer расширяет ранее сгенерированный.
например
import jsyntaxpane.Token;
import jsyntaxpane.TokenType;
%%
%public
%class ProprietaryLexer
%extends XPathLexer
%unicode
%char
%type Token
Это, кажется, вызывает нагрузку ошибок говорить мне, что я не могу продлить некоторые заключительные методы. Является ли это проблемой, специфичной для DefaultJFlexLexer в JSyntaxpane, или я просто делаю это неправильно? Кто-нибудь был в подобной ситуации и нашел способ добиться своего рода специального наследования в связке лексеров?
Я отметил это как ответ, потому что я закончил делать вариант 1. Это не идеально, но я считаю, что эти лексеры не нуждаются в большом обслуживании, поэтому это приемлемый компромисс. –