类 CharacterStream

java.lang.Object
org.ssssssss.script.parsing.CharacterStream

public class CharacterStream extends Object
对字符串进行封装,提供匹配、跳过方法,方便词法解析。
  • 构造器详细资料

    • CharacterStream

      public CharacterStream(String source)
    • CharacterStream

      public CharacterStream(String source, int start, int end)
  • 方法详细资料

    • substring

      public String substring(int startIndex, int endIndex)
      截取字符串
      参数:
      startIndex - 开始位置
      endIndex - 结束位置
    • hasMore

      public boolean hasMore()
      是否有下一个字符
    • getSpan

      public Span getSpan(int start, int end)
      根据开始位置、结束位置返回Span
    • consume

      public char consume()
      返回下一个字符
    • match

      public boolean match(String needle, boolean consume)
      返回是否是以给定的字符串开头
    • matchAny

      public boolean matchAny(boolean consume, String... strs)
      匹配任意字符串
      参数:
      strs - 任意字符串
      返回:
    • matchDigit

      public boolean matchDigit(boolean consume)
      返回是否是数字
    • matchIdentifierStart

      public boolean matchIdentifierStart(boolean consume)
      返回是否以标识符开头
    • matchIdentifierPart

      public boolean matchIdentifierPart(boolean consume)
      返回是否是标识符部分
      参数:
      consume - 是否消耗
    • skipLine

      public void skipLine()
      跳过一行
    • skipUntil

      public boolean skipUntil(String chars)
      直到给定的字符串之前全部跳过
    • skipWhiteSpace

      public void skipWhiteSpace()
      跳过空白字符
    • startSpan

      public void startSpan()
      记录当前位置为Span的开始位置
    • endSpan

      public Span endSpan()
      根据当前位置返回Span
    • endSpan

      public Span endSpan(int offset)
      根据当前位置 - offset 返回 Span
    • endSpan

      public Span endSpan(int start, int end)
    • getPosition

      public int getPosition()
      返回当前位置
    • reset

      public void reset(int position)
      重置当前位置