Package-level declarations

Types

Link copied to clipboard
interface AstNode
Link copied to clipboard
class CodeSource(val name: String, textGetter: (String) -> String)

Represents a place where source code can be retrieved from.

Link copied to clipboard
object Lexer

The Metis lexer. Converts source code into a list of Tokens.

Link copied to clipboard
class Parser(tokens: List<Token>, source: CodeSource)

The Metis parser.

Link copied to clipboard
data class Span(val start: Int, val end: Int, val source: CodeSource)

A span of text in a CodeSource.

Link copied to clipboard
open class SyntaxException(message: String, val consumed: Int, span: Span) : MetisException
Link copied to clipboard
data class Token(val type: Token.Type, val text: String, val span: Span)

Represents a token.

Link copied to clipboard
class UnexpectedTokenException(val token: Token, val expected: List<Token.Type>, val consumed: Int, span: Span) : SyntaxException