Module: L43Peg::Parsers

Extended by:
Parsers
Included in:
L43Peg, Parsers, StringParser, SymbolParser
Defined in:
lib/l43_peg/parsers.rb,
lib/l43_peg/parsers/ws_parser.rb,
lib/l43_peg/parsers/end_parser.rb,
lib/l43_peg/parsers/eol_parser.rb,
lib/l43_peg/parsers/int_parser.rb,
lib/l43_peg/parsers/rgx_parser.rb,
lib/l43_peg/parsers/char_parser.rb,
lib/l43_peg/parsers/list_parser.rb,
lib/l43_peg/parsers/name_parser.rb,
lib/l43_peg/parsers/escape_parser.rb,
lib/l43_peg/parsers/string_parser.rb,
lib/l43_peg/parsers/symbol_parser.rb,
lib/l43_peg/parsers/failure_parser.rb,
lib/l43_peg/parsers/literal_parser.rb,
lib/l43_peg/parsers/success_parser.rb

Defined Under Namespace

Modules: EscapeParser, ListParser, NameParser, StringParser, SymbolParser, WsParser Classes: CharParser, EndParser, EolParser, FailureParser, IntParser, LiteralParser, RgxParser, SuccessParser

Instance Method Summary collapse

Instance Method Details

#char_parser(charset = nil, name: nil, allow_eol: false) ⇒ Object



21
22
# File 'lib/l43_peg/parsers.rb', line 21

def char_parser (charset=nil, name: nil, allow_eol: false) =
CharParser.new(charset, name:, allow_eol:)

#end_parserObject



27
# File 'lib/l43_peg/parsers.rb', line 27

def end_parser = EndParser.instance

#eol_parser(succeed_at_end: false) ⇒ Object



24
25
# File 'lib/l43_peg/parsers.rb', line 24

def eol_parser(succeed_at_end: false) =
EolParser.eol_parser(succeed_at_end:)

#escape_parser(escape_char_set, escapees = nil, name: nil, with_box: nil) ⇒ Object



29
30
# File 'lib/l43_peg/parsers.rb', line 29

def escape_parser(escape_char_set, escapees=nil, name: nil, with_box: nil) =
EscapeParser.escape_parser(escape_char_set, escapees, name:, with_box:)

#failure_parserObject



32
# File 'lib/l43_peg/parsers.rb', line 32

def failure_parser = FailureParser.instance

#int_parserObject



34
# File 'lib/l43_peg/parsers.rb', line 34

def int_parser = IntParser.instance

#list_parser(**options) ⇒ Object



36
# File 'lib/l43_peg/parsers.rb', line 36

def list_parser(**options) = ListParser.list_parser(**options)

#literal_parser(verb, name: nil) ⇒ Object



38
# File 'lib/l43_peg/parsers.rb', line 38

def literal_parser(verb, name: nil) = LiteralParser.new(verb, name:)

#name_parser(name: nil, begin_rgx: :alpha, inner_rgx: /[_[:alnum:]]*/, with_box: nil) ⇒ Object



40
41
# File 'lib/l43_peg/parsers.rb', line 40

def name_parser(name: nil, begin_rgx: :alpha, inner_rgx: /[_[:alnum:]]*/, with_box: nil) =
NameParser.name_parser(name:, begin_rgx:, inner_rgx:, with_box:)

#rgx_parser(*regexen, name: nil, capture: nil, warn_on_empty: true, grouped: false) ⇒ Object



43
44
# File 'lib/l43_peg/parsers.rb', line 43

def rgx_parser(*regexen, name: nil, capture: nil, warn_on_empty: true, grouped: false) =
RgxParser.new(*regexen, name:, capture:, warn_on_empty:, grouped:)

#string_parser(escape: "\\", double_escape: false, name: nil, quote: '"') ⇒ Object



46
47
# File 'lib/l43_peg/parsers.rb', line 46

def string_parser(escape: "\\", double_escape: false, name: nil, quote: '"') =
StringParser.string_parser(escape:, double_escape:, name:, quote:)

#success_parserObject



49
# File 'lib/l43_peg/parsers.rb', line 49

def success_parser = SuccessParser.instance

#symbol_parser(name: nil, symbol_head: ':') ⇒ Object



51
52
# File 'lib/l43_peg/parsers.rb', line 51

def symbol_parser(name: nil, symbol_head: ':') =
SymbolParser.symbol_parser(name:, symbol_head:)

#ws_parser(name: nil, min: 0, skip_lines: false) ⇒ Object



54
55
# File 'lib/l43_peg/parsers.rb', line 54

def ws_parser(name: nil, min: 0, skip_lines: false) =
WsParser.ws_parser(name:, min:, skip_lines:)