Lexer

Undocumented in source.

Members

Mixins

__anonymous
mixin makeParser!(string, supply)
Undocumented in source.

Static functions

endOfLine
Match endOfLine(string input)
Undocumented in source. Be warned that the author may not have intended to support it.
insignificant
Match insignificant(string input)

Insignificant tokens: whitespace and commentss

lex
Match lex(string input)
Undocumented in source. Be warned that the author may not have intended to support it.
merge
Match merge(string text)
Undocumented in source. Be warned that the author may not have intended to support it.
token
Match token(string input)

Match any token

Mixed In Members

From mixin makeParser!(string, supply)

Match
alias Match = rcdata.parser.MatchImpl!(Input, supply)
Undocumented in source.
MatchCapture
alias MatchCapture(Ts...) = rcdata.parser.MatchImpl!(Input, supply, Ts)
Undocumented in source.
ParserException
alias ParserException = rcdata.parser.ParserExceptionImpl!(Input, supply)
Undocumented in source.
MatchCaptureTypes
template MatchCaptureTypes(Ts...)

Get an AliasSeq of capture types held by a given list of Match and MatchCapture types.

MatchType
template MatchType(pattern...)

Check the match type returned by match for the given pattern.

PatternCaptureTypes
alias PatternCaptureTypes(pattern...) = MatchCaptureTypes!(staticMap!(MatchType, pattern))

Get an alias seq of capture types, similarly to PatternCaptureTypes, but based on a pattern for match.

CaptureTupleIterator
struct CaptureTupleIterator(patterns...)

Iterate on the given pattern tuple.

TupleWrap
template TupleWrap(items...)

Wrap the tuple in a std.typecons.Tuple if its length isn't 1, otherwise return the sole item.

tupleWrap
TupleWrap!Ts tupleWrap(Ts args)
Undocumented in source. Be warned that the author may not have intended to support it.
funCC
alias funCC = unaryFun!fun
Undocumented in source.
match
template match(pattern...)

Match multiple items in order. Each matcher in the pattern will be tested against the source in order, and will advance the range before the next item in the pattern. The full pattern has to match.

match
template match(handlers...)
Undocumented in source.
ReturnMatch
alias ReturnMatch = MatchOr!pattern
Undocumented in source.
Capture
alias Capture = ReturnMatch.Capture
Undocumented in source.
capture
Capture capture;
Undocumented in source.
MatchOr
template MatchOr(pattern...)
matchRepeatRange
template matchRepeatRange(pattern...)
matchUntil
template matchUntil(alias terminator, pattern...)

Return the matchOr return value for the given pattern.

ret
auto ret;
Undocumented in source.
Capture
alias Capture = Nullable!(TupleWrap!(ret.Capture))
Undocumented in source.
Return
alias Return = MatchCapture!Capture
Undocumented in source.
Result
alias Result = MatchCapture!T
Undocumented in source.
source
Input source;
Undocumented in source.
result
auto result;
Undocumented in source.
LastResult
union LastResult

Union to hold results of each pattern match

lastResult
LastResult lastResult;
Undocumented in source.
run
auto run(LastResult lastResult, Input input, Result match)

Run the rule at given index. Does not store the result.

capture
auto capture;
Undocumented in source.
result
auto result;
Undocumented in source.
result
auto result;
Undocumented in source.

Meta