rcdata.parser

Module for easily making parsers.

Can be used for both lexing and parsing grammars.

Members

Classes

ParserExceptionImpl
class ParserExceptionImpl(Input, alias supply)

Exception type thrown on a parser failure, usually matchCritical.

Enums

hasDefaultConstructor
eponymoustemplate hasDefaultConstructor(T)

Check if given struct has a default constructor. True for other types.

isMatchDataSupplier
eponymoustemplate isMatchDataSupplier(Input, alias supply)

Check if the given function is a valid parser data supplier.

Mixin templates

makeParser
mixintemplate makeParser(Input, alias supply)
mixintemplate makeParser(Input, alias supply, alias basicMatcher)

Mixin to produce matcher templates for processing Input input range and creating a Match output range.

Structs

MatchImpl
struct MatchImpl(Input, alias supply, Ts...)

Result of the match.

Templates

MatchData
template MatchData(Input, alias supply)

Get the result type of the given supplier.

Meta