TermParserImpl

class TermParserImpl(val scope: Scope, val defaultOperatorSet: OperatorSet, lexerOptions: LexerOptions = LexerOptions(), parserOptions: ParserOptions = ParserOptions()) : TermParser

Configurable default implementation of TermParser.

Most callers should use a TermParser factory. Construct this class directly when lexer or parser safety options must be customized.

Parameters

lexerOptions

low-level lazy-lexer and token-retention configuration

parserOptions

low-level nesting and ambiguity configuration

Constructors

Link copied to clipboard
constructor(scope: Scope, defaultOperatorSet: OperatorSet, lexerOptions: LexerOptions = LexerOptions(), parserOptions: ParserOptions = ParserOptions())

Properties

Link copied to clipboard
open override val defaultOperatorSet: OperatorSet

operators used by overloads that do not receive an explicit set

Link copied to clipboard
open override val scope: Scope

scope used to create terms and preserve variable identity within one parse

Functions

Link copied to clipboard
open fun parseAtom(input: String): Atom

open fun parseAtom(input: String, operators: OperatorSet): Atom

Parses input as an Atom using operators.

Link copied to clipboard
open fun parseClause(input: String): Clause

open fun parseClause(input: String, operators: OperatorSet): Clause

Parses input as a Clause using operators. A final full stop is optional.

Link copied to clipboard
open fun parseConstant(input: String): Constant

open fun parseConstant(input: String, operators: OperatorSet): Constant

Parses input as a Constant using operators.

Link copied to clipboard
open fun parseDirective(input: String): Directive

open fun parseDirective(input: String, operators: OperatorSet): Directive

Parses input as a Directive using operators.

Link copied to clipboard
open fun parseFact(input: String): Fact

open fun parseFact(input: String, operators: OperatorSet): Fact

Parses input as a Fact using operators.

Link copied to clipboard
open fun parseInteger(input: String): Integer

open fun parseInteger(input: String, operators: OperatorSet): Integer

Parses input as an Integer using operators.

Link copied to clipboard
open fun parseNumeric(input: String): Numeric

open fun parseNumeric(input: String, operators: OperatorSet): Numeric

Parses input as a Numeric term using operators.

Link copied to clipboard
open fun parseReal(input: String): Real

open fun parseReal(input: String, operators: OperatorSet): Real

Parses input as a Real using operators.

Link copied to clipboard
open fun parseRule(input: String): Rule

open fun parseRule(input: String, operators: OperatorSet): Rule

Parses input as a Rule using operators.

Link copied to clipboard
open fun parseStruct(input: String): Struct

open fun parseStruct(input: String, operators: OperatorSet): Struct

Parses input as a Struct using operators.

Link copied to clipboard
open fun parseTerm(input: String): Term

open override fun parseTerm(input: String, operators: OperatorSet): Term

Parses input as one expression and converts it to a tuProlog term.

Link copied to clipboard
open fun parseVar(input: String): Var

open fun parseVar(input: String, operators: OperatorSet): Var

Parses input as a Var using operators.