package lexer
- Alphabetic
- Public
- All
Type Members
-
case class
AstToken(tokenType: Token, text: String, range: SourceLocation) extends Product with Serializable
A Token that contains the associated text.
A Token that contains the associated text. So it can be used to into the AST to serialize the input without keeping the original source
- abstract class BaseLexer[T <: Token] extends Lexer[T]
-
class
CharSequenceLexerInput extends LexerInput
A LexerInput backed by a CharSequence
-
case class
InputRange(lineFrom: Int, columnFrom: Int, lineTo: Int, columnTo: Int) extends Product with Serializable
A Range in the Input
-
trait
Lexer[T <: Token] extends AnyRef
A lexer is a recognizer that draws input symbols from a character stream.
A lexer is a recognizer that draws input symbols from a character stream. Specific lexer grammars are implementations of this interface this object.
- trait LexerContext extends AnyRef
-
trait
LexerInput extends AnyRef
A source of characters for a Lexer.
- final class Position extends Ordered[Position]
- class Queue[T] extends AnyRef
-
case class
SourceLocation(sourceName: String, offsetFrom: Int, offsetTo: Int, lineFrom: Int, columnFrom: Int, lineTo: Int, columnTo: Int) extends Ordered[SourceLocation] with Product with Serializable
A range of Input Locations (This should supersede the use of the InputRange class and the use of sourceName:String)
-
abstract
class
Token extends AnyRef
The Token Trait
-
case class
TokenData[T <: Token](token: T, range: SourceLocation) extends Product with Serializable
The Token data
-
final
class
failfast extends Annotation with StaticAnnotation
An Annotation to specify that a given lexer function will fail (return false) without changing the lexer state (For the time being is just a hint, we can use it in the future to optimize the lexer)
Value Members
- object CharSequenceLexerInput
- object InputRange extends Serializable
- object LexerInput
- object Position
- object SingleDocumentLexerContext extends LexerContext
- object SourceLocation extends Serializable
- object StreamLexerContext extends LexerContext