module ABNF::Parser::Controls::Nodes
Public Instance Methods
alternation()
click to toggle source
# File lib/abnf/parser/controls/nodes.rb, line 7 def alternation Node.alternation( Node.terminal('foo', ABNF.foo), ABNF.alternation, ) end
concatenation()
click to toggle source
# File lib/abnf/parser/controls/nodes.rb, line 14 def concatenation Node.concatenation( [ Node.terminal('[', '"["'), Node.terminal('foo', ABNF.foo), Node.terminal(']', '"]"'), ], ABNF.concatenation, ) end
factored()
click to toggle source
# File lib/abnf/parser/controls/nodes.rb, line 55 def factored Node.alternation( Node.concatenation( [ Node.repetition( [ Node.alternation( Node.terminal('s', '%x61-7A'), 'ALPHA', ), Node.alternation( Node.terminal('o', '%x61-7A'), 'ALPHA', ), Node.alternation( Node.terminal('m', '%x61-7A'), 'ALPHA', ), Node.alternation( Node.terminal('e', '%x61-7A'), 'ALPHA', ), ], '1*ALPHA', ), Node.terminal('-', '"-"'), Node.repetition( [ Node.alternation( Node.terminal('t', '%x61-7A'), 'ALPHA', ), Node.alternation( Node.terminal('e', '%x61-7A'), 'ALPHA', ), Node.alternation( Node.terminal('x', '%x61-7A'), 'ALPHA', ), Node.alternation( Node.terminal('t', '%x61-7A'), 'ALPHA', ), ], '1*ALPHA', ), ], '1*ALPHA "-" 1*ALPHA', ), '(1*ALPHA "-" 1*ALPHA) / "~"', ) end
repetition()
click to toggle source
# File lib/abnf/parser/controls/nodes.rb, line 25 def repetition abnf = %{#{ABNF.foo} / #{ABNF.bar} / #{ABNF.baz}} regexp = %r{foo|bar|baz} Node.repetition( [ Node.alternation(Node.terminal('foo', ABNF.foo), abnf), Node.alternation(Node.terminal('bar', ABNF.foo), abnf), Node.alternation(Node.terminal('baz', ABNF.foo), abnf), ], "1*( #{abnf} )", ) end
terminal()
click to toggle source
# File lib/abnf/parser/controls/nodes.rb, line 39 def terminal Node.terminal 'foo', ABNF.foo end
unfactored(abnf: nil, text: nil)
click to toggle source
# File lib/abnf/parser/controls/nodes.rb, line 43 def unfactored abnf: nil, text: nil abnf ||= ABNF.example text ||= 'some-text' pattern = Rules.regexp_pattern.regexp match_data = pattern.match text Node.pattern_match match_data, abnf end