cadenza / org.intelligence.parser / Parse

Parse

open class Parse

Types

Expected

data class Expected

Exceptions

Error

class Error : Exception

Constructors

<init>

Parse(characters: CharSequence)

Properties

characters

val characters: CharSequence

expected

val expected: List<Any>

expects

var expects: Expected?

pos

var pos: Int

Extension Properties

atEof

val Parse.atEof: Boolean

eof

val Parse.eof: Unit

grammar

val Parse.grammar: Term

ident

val Parse.ident: String

mark

val Parse.mark: Mark

next

val Parse.next: Char

space

val Parse.space: Unit

tele

val Parse.tele: Array<Pair<Name, Type>>

type

val Parse.type: Type

Extension Functions

char

fun Parse.char(c: Char): Char

choice

fun <P : Parse, T> P.choice(vararg alts: P.() -> T): T

expected

fun Parse.expected(what: Any): Nothing

fail

fun Parse.fail(message: String? = null): Nothing

many

fun <P : Parse, T> P.many(item: P.() -> T): List<T>

manyTill

fun <P : Parse, A> P.manyTill(p: P.() -> A, q: P.() -> Any): List<A>

manyTillPair

fun <P : Parse, A, B> P.manyTillPair(p: P.() -> A, q: P.() -> B): Pair<List<A>, B>

match

fun Parse.match(pattern: Pattern): Matcher

named

fun <P : Parse, T> P.named(what: Any, action: P.() -> T): T

optional

fun <P : Parse, T> P.optional(item: P.() -> T): T?

parens

fun <T : Parse, A> T.parens(f: T.() -> A): A

parse

fun <T> Parse.parse(p: Parser<T>): T

release

fun Parse.release(mark: Mark): Unit

satisfy

fun Parse.satisfy(predicate: (Char) -> Boolean): Char

some

fun <P : Parse, T> P.some(item: P.() -> T): List<T>

spanned

fun <P : Parse, A, R> P.spanned(p: P.() -> A): Pair<A, Loc>

string

fun Parse.string(s: String): String

token

fun <T : Parse, A> T.token(f: T.() -> A): A

trying

fun <P : Parse, T> P.trying(what: Any, action: P.() -> T): T

Inheritors

SourceParse

class SourceParse : Parse