Execute the actions encapsulated by this executor within the context of a
particular {@link Lexer}.
<p>This method calls {@link IntStream#seek} to set the position of the
{@code input} {@link CharStream} prior to calling
{@link LexerAction#execute} on a position-dependent action. Before the
method returns, the input position will be restored to the same position
it was in when the method was invoked.</p>
@param lexer The lexer instance.
@param input The input stream which is the source for the current token.
When this method is called, the current {@link IntStream#index} for
{@code input} should be the start of the following token, i.e. 1
character past the end of the current token.
@param startIndex The token start index. This value may be passed to
{@link IntStream#seek} to set the {@code input} position to the beginning
of the token.
Execute the actions encapsulated by this executor within the context of a particular {@link Lexer}.
<p>This method calls {@link IntStream#seek} to set the position of the {@code input} {@link CharStream} prior to calling {@link LexerAction#execute} on a position-dependent action. Before the method returns, the input position will be restored to the same position it was in when the method was invoked.</p>
@param lexer The lexer instance. @param input The input stream which is the source for the current token. When this method is called, the current {@link IntStream#index} for {@code input} should be the start of the following token, i.e. 1 character past the end of the current token. @param startIndex The token start index. This value may be passed to {@link IntStream#seek} to set the {@code input} position to the beginning of the token.