Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class FastCharStream

    An efficient implementation of JavaCC's ICharStream interface.

    Note that this does not do line-number counting, but instead keeps track of the character position of the token in the input, as required by Lucene's Lucene.Net.Analysis.Token API.
    Inheritance
    object
    FastCharStream
    Implements
    ICharStream
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Lucene.Net.QueryParsers.Surround.Parser
    Assembly: Lucene.Net.QueryParser.dll
    Syntax
    public sealed class FastCharStream : ICharStream

    Constructors

    FastCharStream(TextReader)

    Constructs from a TextReader.

    Declaration
    public FastCharStream(TextReader r)
    Parameters
    Type Name Description
    TextReader r

    Properties

    BeginColumn

    Returns the column number of the first character for current token (being matched after the last call to BeginTOken).

    Declaration
    public int BeginColumn { get; }
    Property Value
    Type Description
    int

    BeginLine

    Returns the line number of the first character for current token (being matched after the last call to BeginTOken).

    Declaration
    public int BeginLine { get; }
    Property Value
    Type Description
    int

    Column

    Returns the column position of the character last read.

    Declaration
    public int Column { get; }
    Property Value
    Type Description
    int
    See Also
    EndColumn

    EndColumn

    Returns the column number of the last character for current token (being matched after the last call to BeginTOken).

    Declaration
    public int EndColumn { get; }
    Property Value
    Type Description
    int

    EndLine

    Returns the line number of the last character for current token (being matched after the last call to BeginTOken).

    Declaration
    public int EndLine { get; }
    Property Value
    Type Description
    int

    Image

    Returns a string made up of characters from the marked token beginning to the current buffer position. Implementations have the choice of returning anything that they want to. For example, for efficiency, one might decide to just return null, which is a valid implementation.

    Declaration
    public string Image { get; }
    Property Value
    Type Description
    string

    Line

    Returns the line number of the character last read.

    Declaration
    public int Line { get; }
    Property Value
    Type Description
    int
    See Also
    EndLine

    Methods

    BackUp(int)

    Backs up the input stream by amount steps. Lexer calls this method if it had already read some characters, but could not use them to match a (longer) token. So, they will be used again as the prefix of the next token and it is the implemetation's responsibility to do this right.

    Declaration
    public void BackUp(int amount)
    Parameters
    Type Name Description
    int amount

    BeginToken()

    Returns the next character that marks the beginning of the next token. All characters must remain in the buffer between two successive calls to this method to implement BackUp(int) correctly.

    Declaration
    public char BeginToken()
    Returns
    Type Description
    char

    Done()

    The lexer calls this function to indicate that it is done with the stream and hence implementations can free any resources held by this class. Again, the body of this function can be just empty and it will not affect the lexer's operation.

    Declaration
    public void Done()

    GetSuffix(int)

    Returns an array of characters that make up the suffix of length 'len' for the currently matched token. This is used to build up the matched string for use in actions in the case of MORE. A simple and inefficient implementation of this is as follows :

    {
        string t = Image;
        return t.Substring(t.Length - len, len).ToCharArray();
    }
    Declaration
    public char[] GetSuffix(int len)
    Parameters
    Type Name Description
    int len
    Returns
    Type Description
    char[]

    ReadChar()

    Returns the next character from the selected input. The method of selecting the input is the responsibility of the class implementing this interface. Can throw any IOException.

    Declaration
    public char ReadChar()
    Returns
    Type Description
    char

    Implements

    ICharStream
    Back to top Copyright © 2024 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.