GrammarDSL

interface GrammarDSL<T, E>

A builder of com.github.adriantodt.tartar.api.parser.Grammar, as a domain-specific language (DSL).

Author

AdrianTodt

Parameters

T

The grammar's token type.

E

The grammar's expression result.

Functions

import
Link copied to clipboard
common
abstract fun import(override: Boolean = false, vararg grammars: Grammar<T, E>)

Imports all parselets from other grammars.

infix
Link copied to clipboard
common
abstract fun infix(type: T, parselet: InfixParselet<T, E>, override: Boolean = false)
abstract fun infix(type: T, precedence: Int, override: Boolean = false, block: InfixFunction<T, E>)

Registers a infix parselets into the grammar.

prefix
Link copied to clipboard
common
abstract fun prefix(type: T, parselet: PrefixParselet<T, E>, override: Boolean = false)
abstract fun prefix(type: T, override: Boolean = false, block: PrefixFunction<T, E>)

Registers a prefix parselets into the grammar.