trait SourceCursor extends AnyRef
Represents the state and context of a parsing operation, containing the input string as well as positional information.
- Alphabetic
- By Inheritance
- SourceCursor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- abstract type Self <: SourceCursor
Abstract Value Members
-
abstract
def
atEnd: Boolean
Indicates whether this contexts offset is behind the last character of the input string
-
abstract
def
capture(numChars: Int): String
Captures a string containing the specified number of characters from the current offset.
Captures a string containing the specified number of characters from the current offset. If the number of remaining characters is less than the specified number, all remaining characters will be returned.
-
abstract
def
consume(numChars: Int): Self
Consumes the specified number of characters, returning a new
SourceCursor
with the new offset. -
abstract
def
input: String
The full input string, containing the string portions before and after the current offset.
-
abstract
def
nestLevel: Int
The nest level of this cursor in case of recursive parsing.
-
abstract
def
nextNestLevel: Self
Create a new instance of this cursor with the nestLevel incremented.
-
abstract
def
offset: Int
The offset of this cursor from the start of the source.
-
abstract
def
position: Position
The current position in the input string.
-
abstract
def
remaining: Int
Indicates the number of characters remaining in the input string after the current offset.
-
abstract
def
reverse: Self
Returns a new
SourceCursor
with the input string being reversed, but pointing to the same character as this context.Returns a new
SourceCursor
with the input string being reversed, but pointing to the same character as this context.This is a low-level optimization for parsers that look for strings like email addresses where the first character is not significant, so that parsing backwards from any
@
encountered in the input provided better performance. -
abstract
def
root: RootSource
The source for the root input, positioned to match the offset of this (potentially nested) source.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
canConsume(maxChars: Int): Int
- Attributes
- protected
-
def
char: Char
The character at the current offset.
-
def
charAt(relativeOffset: Int): Char
The character at the specified offset, relative from the current offset.
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
length: Int
The length of the input of this cursor.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
path: Option[Path]
The (virtual) path of the document this input originates from; may be empty in case of generated sources.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()