nimTitle pegs pegs.html module std/pegs 0
nim MaxSubpatterns pegs.html#MaxSubpatterns const MaxSubpatterns 34
nim pkEmpty pegs.html#pkEmpty PegKind.pkEmpty 38
nim pkAny pegs.html#pkAny PegKind.pkAny 38
nim pkAnyRune pegs.html#pkAnyRune PegKind.pkAnyRune 38
nim pkNewLine pegs.html#pkNewLine PegKind.pkNewLine 38
nim pkLetter pegs.html#pkLetter PegKind.pkLetter 38
nim pkLower pegs.html#pkLower PegKind.pkLower 38
nim pkUpper pegs.html#pkUpper PegKind.pkUpper 38
nim pkTitle pegs.html#pkTitle PegKind.pkTitle 38
nim pkWhitespace pegs.html#pkWhitespace PegKind.pkWhitespace 38
nim pkTerminal pegs.html#pkTerminal PegKind.pkTerminal 38
nim pkTerminalIgnoreCase pegs.html#pkTerminalIgnoreCase PegKind.pkTerminalIgnoreCase 38
nim pkTerminalIgnoreStyle pegs.html#pkTerminalIgnoreStyle PegKind.pkTerminalIgnoreStyle 38
nim pkChar pegs.html#pkChar PegKind.pkChar 38
nim pkCharChoice pegs.html#pkCharChoice PegKind.pkCharChoice 38
nim pkNonTerminal pegs.html#pkNonTerminal PegKind.pkNonTerminal 38
nim pkSequence pegs.html#pkSequence PegKind.pkSequence 38
nim pkOrderedChoice pegs.html#pkOrderedChoice PegKind.pkOrderedChoice 38
nim pkGreedyRep pegs.html#pkGreedyRep PegKind.pkGreedyRep 38
nim pkGreedyRepChar pegs.html#pkGreedyRepChar PegKind.pkGreedyRepChar 38
nim pkGreedyRepSet pegs.html#pkGreedyRepSet PegKind.pkGreedyRepSet 38
nim pkGreedyAny pegs.html#pkGreedyAny PegKind.pkGreedyAny 38
nim pkOption pegs.html#pkOption PegKind.pkOption 38
nim pkAndPredicate pegs.html#pkAndPredicate PegKind.pkAndPredicate 38
nim pkNotPredicate pegs.html#pkNotPredicate PegKind.pkNotPredicate 38
nim pkCapture pegs.html#pkCapture PegKind.pkCapture 38
nim pkBackRef pegs.html#pkBackRef PegKind.pkBackRef 38
nim pkBackRefIgnoreCase pegs.html#pkBackRefIgnoreCase PegKind.pkBackRefIgnoreCase 38
nim pkBackRefIgnoreStyle pegs.html#pkBackRefIgnoreStyle PegKind.pkBackRefIgnoreStyle 38
nim pkSearch pegs.html#pkSearch PegKind.pkSearch 38
nim pkCapturedSearch pegs.html#pkCapturedSearch PegKind.pkCapturedSearch 38
nim pkRule pegs.html#pkRule PegKind.pkRule 38
nim pkList pegs.html#pkList PegKind.pkList 38
nim pkStartAnchor pegs.html#pkStartAnchor PegKind.pkStartAnchor 38
nim PegKind pegs.html#PegKind enum PegKind 38
nim ntDeclared pegs.html#ntDeclared NonTerminalFlag.ntDeclared 73
nim ntUsed pegs.html#ntUsed NonTerminalFlag.ntUsed 73
nim NonTerminalFlag pegs.html#NonTerminalFlag enum NonTerminalFlag 73
nim Peg pegs.html#Peg object Peg 81
nim NonTerminal pegs.html#NonTerminal type NonTerminal 90
nim kind pegs.html#kind,Peg proc kind(p: Peg): PegKind 92
nim term pegs.html#term,Peg proc term(p: Peg): string 95
nim ch pegs.html#ch,Peg proc ch(p: Peg): char 99
nim charChoice pegs.html#charChoice,Peg proc charChoice(p: Peg): ref set[char] 103
nim nt pegs.html#nt,Peg proc nt(p: Peg): NonTerminal 107
nim index pegs.html#index,Peg proc index(p: Peg): range[-20 .. 20 - 1] 111
nim items pegs.html#items.i,Peg iterator items(p: Peg): Peg 115
nim pairs pegs.html#pairs.i,Peg iterator pairs(p: Peg): (int, Peg) 120
nim name pegs.html#name,NonTerminal proc name(nt: NonTerminal): string 125
nim line pegs.html#line,NonTerminal proc line(nt: NonTerminal): int 129
nim col pegs.html#col,NonTerminal proc col(nt: NonTerminal): int 133
nim flags pegs.html#flags,NonTerminal proc flags(nt: NonTerminal): set[NonTerminalFlag] 137
nim rule pegs.html#rule,NonTerminal proc rule(nt: NonTerminal): Peg 141
nim term pegs.html#term,string proc term(t: string): Peg 145
nim termIgnoreCase pegs.html#termIgnoreCase,string proc termIgnoreCase(t: string): Peg 152
nim termIgnoreStyle pegs.html#termIgnoreStyle,string proc termIgnoreStyle(t: string): Peg 157
nim term pegs.html#term,char proc term(t: char): Peg 162
nim charSet pegs.html#charSet,set[char] proc charSet(s: set[char]): Peg 167
nim `/` pegs.html#/,varargs[Peg] proc `/`(a: varargs[Peg]): Peg 201
nim sequence pegs.html#sequence,varargs[Peg] proc sequence(a: varargs[Peg]): Peg 218
nim `?` pegs.html#?,Peg proc `?`(a: Peg): Peg 223
nim `*` pegs.html#*,Peg proc `*`(a: Peg): Peg 233
nim `!*` pegs.html#!*,Peg proc `!*`(a: Peg): Peg 248
nim `!*\` pegs.html#!*\,Peg proc `!*\`(a: Peg): Peg 252
nim `+` pegs.html#+,Peg proc `+`(a: Peg): Peg 257
nim `&` pegs.html#&,Peg proc `&`(a: Peg): Peg 261
nim `!` pegs.html#!,Peg proc `!`(a: Peg): Peg 265
nim any pegs.html#any proc any(): Peg 269
nim anyRune pegs.html#anyRune proc anyRune(): Peg 273
nim newLine pegs.html#newLine proc newLine(): Peg 277
nim unicodeLetter pegs.html#unicodeLetter proc unicodeLetter(): Peg 281
nim unicodeLower pegs.html#unicodeLower proc unicodeLower(): Peg 285
nim unicodeUpper pegs.html#unicodeUpper proc unicodeUpper(): Peg 289
nim unicodeTitle pegs.html#unicodeTitle proc unicodeTitle(): Peg 293
nim unicodeWhitespace pegs.html#unicodeWhitespace proc unicodeWhitespace(): Peg 297
nim startAnchor pegs.html#startAnchor proc startAnchor(): Peg 302
nim endAnchor pegs.html#endAnchor proc endAnchor(): Peg 306
nim capture pegs.html#capture,Peg proc capture(a: Peg = Peg(kind: pkEmpty)): Peg 310
nim backref pegs.html#backref,range[],bool proc backref(index: range[1 .. MaxSubpatterns]; reverse: bool = false): Peg 314
nim backrefIgnoreCase pegs.html#backrefIgnoreCase,range[],bool proc backrefIgnoreCase(index: range[1 .. MaxSubpatterns]; reverse: bool = false): Peg 321
nim backrefIgnoreStyle pegs.html#backrefIgnoreStyle,range[],bool proc backrefIgnoreStyle(index: range[1 .. MaxSubpatterns]; reverse: bool = false): Peg 328
nim nonterminal pegs.html#nonterminal,NonTerminal proc nonterminal(n: NonTerminal): Peg 350
nim newNonTerminal pegs.html#newNonTerminal,string,int,int proc newNonTerminal(name: string; line, column: int): NonTerminal 360
nim letters pegs.html#letters.t template letters(): Peg 365
nim digits pegs.html#digits.t template digits(): Peg 369
nim whitespace pegs.html#whitespace.t template whitespace(): Peg 373
nim identChars pegs.html#identChars.t template identChars(): Peg 377
nim identStartChars pegs.html#identStartChars.t template identStartChars(): Peg 381
nim ident pegs.html#ident.t template ident(): Peg 385
nim natural pegs.html#natural.t template natural(): Peg 390
nim `$` pegs.html#$,Peg proc `$`(r: Peg): string 528
nim Captures pegs.html#Captures object Captures 536
nim bounds pegs.html#bounds,Captures,range[] proc bounds(c: Captures; i: range[0 .. 20 - 1]): tuple[first, last: int] 541
nim rawMatch pegs.html#rawMatch,string,Peg,int,Captures proc rawMatch(s: string; p: Peg; start: int; c: var Captures): int 869
nim eventParser pegs.html#eventParser.t,untyped,untyped template eventParser(pegAst, handlers: untyped): (proc (s: string): int) 954
nim matchLen pegs.html#matchLen,string,Peg,openArray[string],int proc matchLen(s: string; pattern: Peg; matches: var openArray[string]; start = 0): int 1082
nim matchLen pegs.html#matchLen,string,Peg,int proc matchLen(s: string; pattern: Peg; start = 0): int 1093
nim match pegs.html#match,string,Peg,openArray[string],int proc match(s: string; pattern: Peg; matches: var openArray[string]; start = 0): bool 1103
nim match pegs.html#match,string,Peg,int proc match(s: string; pattern: Peg; start = 0): bool 1111
nim find pegs.html#find,string,Peg,openArray[string],int proc find(s: string; pattern: Peg; matches: var openArray[string]; start = 0): int 1117
nim findBounds pegs.html#findBounds,string,Peg,openArray[string],int proc findBounds(s: string; pattern: Peg; matches: var openArray[string]; start = 0): tuple[\n first, last: int] 1132
nim find pegs.html#find,string,Peg,int proc find(s: string; pattern: Peg; start = 0): int 1149
nim findAll pegs.html#findAll.i,string,Peg,int iterator findAll(s: string; pattern: Peg; start = 0): string 1159
nim findAll pegs.html#findAll,string,Peg,int proc findAll(s: string; pattern: Peg; start = 0): seq[string] 1173
nim `=~` pegs.html#=~.t,string,Peg template `=~`(s: string; pattern: Peg): bool 1180
nim contains pegs.html#contains,string,Peg,int proc contains(s: string; pattern: Peg; start = 0): bool 1205
nim contains pegs.html#contains,string,Peg,openArray[string],int proc contains(s: string; pattern: Peg; matches: var openArray[string]; start = 0): bool 1210
nim startsWith pegs.html#startsWith,string,Peg,int proc startsWith(s: string; prefix: Peg; start = 0): bool 1215
nim endsWith pegs.html#endsWith,string,Peg,int proc endsWith(s: string; suffix: Peg; start = 0): bool 1220
nim replacef pegs.html#replacef,string,Peg,string proc replacef(s: string; sub: Peg; by: string): string 1228
nim replace pegs.html#replace,string,Peg,string proc replace(s: string; sub: Peg; by = ""): string 1257
nim parallelReplace pegs.html#parallelReplace,string,varargs[tuple[Peg,string]] proc parallelReplace(s: string; subs: varargs[tuple[pattern: Peg, repl: string]]): string 1274
nim replace pegs.html#replace,string,Peg,proc(int,int,openArray[string]) proc replace(s: string; sub: Peg;\n cb: proc (match: int; cnt: int; caps: openArray[string]): string): string 1301
nim transformFile pegs.html#transformFile,string,string,varargs[tuple[Peg,string]] proc transformFile(infile, outfile: string;\n subs: varargs[tuple[pattern: Peg, repl: string]]) 1346
nim split pegs.html#split.i,string,Peg iterator split(s: string; sep: Peg): string 1358
nim split pegs.html#split,string,Peg proc split(s: string; sep: Peg): seq[string] 1393
nim EInvalidPeg pegs.html#EInvalidPeg object EInvalidPeg 1816
nim parsePeg pegs.html#parsePeg,string,string,int,int proc parsePeg(pattern: string; filename = "pattern"; line = 1; col = 0): Peg 2046
nim peg pegs.html#peg,string proc peg(pattern: string): Peg 2061
nim escapePeg pegs.html#escapePeg,string proc escapePeg(s: string): string 2068
heading PEG syntax and semantics pegs.html#peg-syntax-and-semantics PEG syntax and semantics 0
heading Built-in macros pegs.html#peg-syntax-and-semantics-builtminusin-macros Built-in macros 0
heading Supported PEG grammar pegs.html#peg-syntax-and-semantics-supported-peg-grammar Supported PEG grammar 0
heading Examples pegs.html#peg-syntax-and-semantics-examples Examples 0
heading PEG vs regular expression pegs.html#peg-syntax-and-semantics-peg-vs-regular-expression PEG vs regular expression 0
heading PEG construction pegs.html#peg-syntax-and-semantics-peg-construction PEG construction 0
idx any rune pegs.html#any-rune_1 PEG construction 0
idx any character pegs.html#any-character_1 PEG construction 0
idx newline pegs.html#newline_1 PEG construction 0
nimgrp replace pegs.html#replace-procs-all proc 1257
nimgrp term pegs.html#term-procs-all proc 95
nimgrp contains pegs.html#contains-procs-all proc 1205
nimgrp match pegs.html#match-procs-all proc 1103
nimgrp matchlen pegs.html#matchLen-procs-all proc 1082
nimgrp find pegs.html#find-procs-all proc 1117