Module: ABNF::Parser::Controls::RuleLists::MultiplesOfThree
- Extended by:
- MultiplesOfThree
- Included in:
- MultiplesOfThree
- Defined in:
- lib/abnf/parser/controls/rule_lists/multiples_of_three.rb
Instance Method Summary collapse
Instance Method Details
#n0 ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 8 def n0 Parser::Rules::Alternation.new( [ Parser::Rules::Terminal.string('0', '"0"'), Parser::Rules::Terminal.string('3', '"3"'), Parser::Rules::Terminal.string('6', '"6"'), Parser::Rules::Terminal.string('9', '"9"'), ], '"0" / "3" / "6" / "9"', ) end |
#n1 ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 20 def n1 Parser::Rules::Alternation.new( [ Parser::Rules::Terminal.string('1', '"1"'), Parser::Rules::Terminal.string('4', '"4"'), Parser::Rules::Terminal.string('7', '"7"'), ], '"1" / "4" / "7"', ) end |
#n2 ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 31 def n2 Parser::Rules::Alternation.new( [ Parser::Rules::Terminal.string('2', '"2"'), Parser::Rules::Terminal.string('5', '"5"'), Parser::Rules::Terminal.string('8', '"8"'), ], '"2" / "5" / "8"', ) end |
#rule_list ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 130 def rule_list rule_list = RuleList.new rule_list.update( 's0' => s0, 's1' => s1, 's2' => s2, 'n0' => n0, 'n1' => n1, 'n2' => n2, ) rule_list end |
#s0 ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 42 def s0 Parser::Rules::Alternation.new( [ Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n0'), Parser::Rules::Reference.new('s0'), ], 'n0 s0', ), Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n1'), Parser::Rules::Reference.new('s2'), ], 'n1 s2', ), Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n2'), Parser::Rules::Reference.new('s1'), ], 'n2 s1', ), Parser::Rules::Terminal.string('', '""'), ], 'n0 s0 / n1 n2 / n2 s1 / ""', ) end |
#s1 ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 72 def s1 Parser::Rules::Alternation.new( [ Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n0'), Parser::Rules::Reference.new('s1'), ], 'n0 s1', ), Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n1'), Parser::Rules::Reference.new('s0'), ], 'n1 s0', ), Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n2'), Parser::Rules::Reference.new('s2'), ], 'n2 s2', ), ], 'n0 s1 / n1 s0 / n2 s2', ) end |
#s2 ⇒ Object
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/abnf/parser/controls/rule_lists/multiples_of_three.rb', line 101 def s2 Parser::Rules::Alternation.new( [ Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n0'), Parser::Rules::Reference.new('s2'), ], 'n0 s2', ), Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n1'), Parser::Rules::Reference.new('s1'), ], 'n1 s1', ), Parser::Rules::Concatenation.new( [ Parser::Rules::Reference.new('n2'), Parser::Rules::Reference.new('s0'), ], 'n2 s0', ), ], 'n0 s2 / n1 s1 / n2 s0', ) end |