Lexeme

sealed interface Lexeme

A context-free lexeme produced by the scanner (Stage 1).

Each variant carries a range recording its position in the original character stream. The scanner groups runs of identical structural characters (e.g. ***AsteriskRun) since the Markdown grammar depends on run lengths.

Inheritors

Types

Link copied to clipboard
data class Ampersand(val range: SourceRange) : Lexeme
Link copied to clipboard
data class AngleClose(val range: SourceRange) : Lexeme
Link copied to clipboard
data class AngleOpen(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Asterisk(val range: SourceRange) : Lexeme
Link copied to clipboard
data class AsteriskRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Backslash(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Backtick(val range: SourceRange) : Lexeme
Link copied to clipboard
data class BacktickRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class BracketClose(val range: SourceRange) : Lexeme
Link copied to clipboard
data class BracketOpen(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Colon(val range: SourceRange) : Lexeme
Link copied to clipboard
data class DigitRun(val text: String, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Equals(val range: SourceRange) : Lexeme
Link copied to clipboard
data class EqualsRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Exclamation(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Hash(val range: SourceRange) : Lexeme
Link copied to clipboard
data class HashRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Hyphen(val range: SourceRange) : Lexeme
Link copied to clipboard
data class HyphenRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Newline(val range: SourceRange) : Lexeme
Link copied to clipboard
data class ParenClose(val range: SourceRange) : Lexeme
Link copied to clipboard
data class ParenOpen(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Period(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Pipe(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Plus(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Quote(val range: SourceRange, val char: Char) : Lexeme
Link copied to clipboard
data class Semicolon(val range: SourceRange) : Lexeme
Link copied to clipboard
data class Space(val range: SourceRange) : Lexeme
Link copied to clipboard
data class SpaceRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Tab(val range: SourceRange) : Lexeme
Link copied to clipboard
data class TextRun(val text: String, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Tilde(val range: SourceRange) : Lexeme
Link copied to clipboard
data class TildeRun(val count: Int, val range: SourceRange) : Lexeme
Link copied to clipboard
data class Underscore(val range: SourceRange) : Lexeme
Link copied to clipboard
data class UnderscoreRun(val count: Int, val range: SourceRange) : Lexeme

Properties

Link copied to clipboard
abstract val range: SourceRange