The main abstract class in the Lexer SPI that must be implemented
is {@link org.netbeans.spi.lexer.LanguageHierarchy} that mainly defines
set of token ids and token categories for the new language
and its {@link org.netbeans.spi.lexer.Lexer}.
The language hierarchy may also define embedded languages.